The order value Google Ads should get from Brightpearl
Brightpearl knows what an order was really worth after VAT, discounts, refunds and cost of goods. We send that figure to Google Ads, for the orders that can honestly be traced back to an ad click.
- Brightpearl
- Google Ads
- Shopify
A £180 order on your website is rarely a £180 order. By the time VAT, delivery, a discount code and a return are accounted for, the number Google Ads was told and the number Brightpearl ends up with can be quite far apart, and Smart Bidding is only ever working from the first.
Brightpearl order values can be sent to Google Ads by matching each order back to a stored click identifier or hashed contact details, then reporting the net or margin figure as the conversion value. We build that connection for retailers and wholesalers who’d like bidding to reflect what the business actually kept.
One order, four possible numbers
Take a made-up Brightpearl sales order:
| Step | Amount | What it means |
|---|---|---|
| Customer paid | £180.00 | What the website tag probably reported |
| Less VAT | £150.00 | Net of tax |
| Less delivery income | £144.00 | Product value only |
| Less cost of goods | £78.00 | Gross margin |
Each line is a defensible answer. The indefensible one is a mixture, where web orders arrive gross from the tag and phone orders arrive net from an upload, because Smart Bidding then treats VAT as a form of customer loyalty.
Our usual recommendation is net product value to begin with, moving to margin once the cost data has earned some trust. Brightpearl tracks cost against stock, which makes margin more reachable here than in many systems, although the figure is only as good as the goods-in and landed costs behind it. Passing margin as the conversion value makes Target ROAS effectively a target return on profit, and bidding on profit explains what that takes.
What Brightpearl adds that a website tag can’t
A website tag fires once, at the thank-you page, and forgets. Brightpearl keeps going:
- Channels. A Shopify store, a marketplace, a phone team and a showroom each carry their own channel, so we can include or exclude them by rule.
- Credits. Returns and credit notes arrive later, and conversion adjustments let us bring the value in Google Ads back down.
- Status. Cancelled and unpaid orders can be held back until they’re real.
- Cost. Stock costs let us calculate margin per order.
Can orders that never touched the website be attributed?
Some can. An order raised in Brightpearl by your phone team links to an ad only when the customer left a trail: a GCLID (or gbraid or wbraid on some Apple traffic) saved with an earlier web enquiry, or an email or phone number that can be sent hashed and matched to someone who clicked. If a customer rang after a friend’s recommendation, no click exists and no clever piece of code can invent one. The same goes for the bulk of marketplace orders, which happened elsewhere and tend to hide the buyer’s contact details.
Showrooms bring a further trap. A walk-in sale might be a real result of your ads, but unless it’s linked to an identifiable enquiry it stays out of this upload. Google offers separate measurement for store sales, which sits outside this work.
Keeping each sale counted once
Online orders are reported by your website tag the moment they happen, and again by Brightpearl if we’re not careful. Getting this wrong is the quickest way to inflate your reported revenue without selling anything. We agree on one owner per order. Either the web tag stays primary and Brightpearl only adds phone orders and adjustments, or Brightpearl becomes primary and the tag is demoted to secondary. The web order reference goes with each conversion so the two can be reconciled.
When should a Brightpearl order be sent?
Timing is the other decision. Sending the moment an order is placed gets the signal to Smart Bidding quickly, while waiting for despatch or payment avoids reporting orders that fall over. We’d usually send early and correct with adjustments, unless your cancellation rate makes that noisy, and we’d keep one rule across every channel we include.
How it gets built
Brightpearl has an API and can notify other systems when orders change, so the sync reacts to events without waiting for a nightly export. Our ERP order values service explains how that fits into the wider work, and it starts from £2,500 ex VAT as a fixed quote once your channels and statuses are understood. It’s all built in your own accounts, so nothing needs unpicking if you part ways with us. Orders still being rekeyed into Brightpearl are a separate job, and our sister site handles order automation if that’s on your list too.

Common questions
Straight answers to what people ask before they get in touch.
Which Brightpearl figure should we send: revenue or margin?
Start with net product value, excluding VAT and delivery, because it’s simple and comparable across orders. Margin is a better target once cost data is reliable, but it needs care with returns, shipping and payment fees. We can run net value first and move to margin later without rebuilding the sync.
Are we giving Google sensitive margin data if we send profit?
Sharing true margin with an ad platform is a commercial decision, and not everyone is comfortable with it. Some businesses send a scaled value instead, which keeps the relative differences between orders while hiding the real figure. Smart Bidding mostly needs those proportions to be consistent from one order to the next.
How are Brightpearl returns reflected in Google Ads?
When a credit is raised against an order we’ve already sent, we can send a conversion adjustment that lowers or retracts the original value. We agree in advance which credits count, as a goodwill gesture and a genuine return can mean quite different things for bidding.
We sell across several Brightpearl channels. Can some be left out?
Yes, and usually several should be. Each order carries its channel, so rules can include your web shop and phone orders while excluding marketplaces. Wholesale channels can be handled separately, with their own conversion action if you want those values reported without influencing retail bids.
Does Brightpearl need any extra setup for this?
Usually very little. We’ll need API access, and we’ll look at how customer emails are recorded, because that field does most of the matching. Anything a particular channel or plan needs gets confirmed during scoping, and whatever the sync requires to run is covered in the fixed quote.