Why the conversion value is different from the order total
By the HonestTag team ยท Published October 27, 2026
Your ad platform shows one revenue number, Shopify shows another, and every purchase still arrived.
A conversion value starts as the number sent with the purchase. Google Ads can still report a different number: its conversion value rules adjust the value, and it reports values in the account's billing currency. Shopify's order total includes discounts, shipping and taxes. Each ad platform asks for a value in its own terms, and GA4 and Pinterest ask you to leave tax and shipping out. So the value in an ad platform can differ from the order total even when every purchase arrived, and it differs more when the value was read from the wrong field, sent without a currency, sent as zero, or never corrected after a refund. Pick one value convention per platform and keep it.
Stop guessing which ads bring new customers, and give Meta and Google a new-customer signal you can bid on. HonestTag sends verified purchases to Meta, Google and 7 more, each buyer marked new or returning. Start free beside your current tracking.
What each side calls the value
Shopify's order. Shopify keeps several totals on each order, and its Order reference defines them. The order's total price is "The total price of the order, before returns," and "This includes taxes and discounts." The subtotal is "The sum of the prices for all line items after discounts and before returns," and "If taxesIncluded is true, then the subtotal also includes tax." Tax, tips, duties and the amount refunded each have their own field, and there is a second total "after returns." Every one of those amounts exists "in shop and presentment currencies": the shop currency is "The shop currency when the order was placed," and the presentment currency is "The currency used by the customer when placing the order."
Shopify's sales reports. The sales reports page defines total sales as "gross sales - discounts - sales reversals + taxes + duties + shipping charges + fees," and net sales as "gross sales - discounts - sales reversals." A sale shows on the day it was made, and a reversal, such as a refund, on the day it was processed. A gift card product that you sell "isn't included in any sales reports, nor the total sales number in the Home analytics card."
The ad platforms. Each one takes a value and a currency with the purchase, and they do not all describe the value the same way.
- Google Ads lets you "provide transaction-specific values for each conversion", passing "the value of the conversion and its currency," with the currency as an ISO 4217 code. What the account reports can differ from what was sent: values are "adjusted by the specific rules" you set up (conversion value rules), and "Conversion values will always be reported to you in your Google Ads billing currency" (Google Ads settings).
- Meta's Conversions API says the
valueis "Required for purchase events" and "must represent a monetary amount," and thatcurrencyis "Required for purchase events." - Google Analytics 4 tells you to "Set value to the sum of (price * quantity) for all items in items. Don't include shipping or tax," and gives shipping and tax their own parameters (Google's event reference). It also says "If you set value then currency is required for revenue metrics to be computed accurately."
- Pinterest says to "Use pre-tax, pre-shipping total," to "Always send currency when sending value," and that the value should not be zero or negative. Without a currency, Pinterest uses "the currency that the advertiser set when creating an account."
GA4 and Pinterest spell out a rule, and both want the value without tax and shipping. Shopify's total sales adds taxes, duties, shipping and fees on top of net sales, so a value that follows that rule can differ from total sales. Google Ads and Meta ask for a monetary value and its currency, and those pages leave what goes into the value up to you. How purchases reach those two is covered in Google Ads conversion tracking and the Meta Conversions API.
One order, several values
The numbers below are illustrative, not from any store. One order, in a store whose currency is US dollars: two products at $50 each, a $10 discount code, $10 shipping and $8 tax.
- Order total: $100 − $10 + $10 + $8 = $108. On the day it was placed, that order adds $108 to Shopify's total sales and $90 to net sales.
- Product prices added up, before the discount: $100. A tag that builds the value from the cart's line prices sends this.
- Subtotal after the discount: $90. Without tax and shipping, this is the value GA4 and Pinterest describe.
- Order total minus tax: $100. It keeps shipping and leaves tax out.
- The purchase fired before the order data loaded: $0.
- Refund of one product a week later ($45 after its share of the discount, plus $4 of its tax): Shopify's total sales shows −$49 on the day the refund was processed. The ad platform still holds the value it was sent unless something sends a correction.
At the time of purchase, the same order can be sent as $108, $100, $90 or $0. Only $108 is the order total. $108, $100 and $90 are different conventions, and two different ones, the products before the discount and the total minus tax, both land on $100. The $0 is a missed read, not a convention. The refund is $49 of total sales taken off on the later day it was processed.
Send a value your store can stand behind. HonestTag builds each purchase value from the order total, net of tax, and takes shipping off where the platform asks.
Why the value differs from the order total
- The value is the product subtotal. A tag that adds up product prices leaves out shipping and tax, and may or may not include the discount, depending on where it reads the prices.
- With or without tax and shipping. One tag sends the order total, another leaves tax out, a third leaves out tax and shipping. Each is consistent with itself, and none of them agree.
- Zero-value purchases. A purchase event that fires before the order's data is available, or reads a field that is empty, sends $0 or no value. Pinterest says the value should not be zero or negative.
- The currency is missing or in the wrong field. Pinterest reads an amount without a currency in "the currency that the advertiser set when creating an account," so an order paid in euros, sent with no currency to an account set up in dollars, shows up as the same number of dollars. GA4 says that if you set a value, the currency "is required for revenue metrics to be computed accurately."
- Presentment versus shop currency. On a store that sells in several currencies, each amount on a Shopify order exists in the shop currency and in the currency the customer paid in. A tag that reads the customer's amount and labels it with the shop's currency, or the other way round, sends a value that is off by the exchange rate.
- Refunds and partial refunds. Shopify keeps the total "before returns" and a second total "after returns," and its sales reports subtract a refund on the day it was processed. GA4 subtracts a refund only when it receives a refund event; a platform that is never told about the refund has no way to know of it. Why GA4 revenue is different from Shopify covers the rest of that gap.
- Discounts applied after the value was read. A value read from the cart before a discount code or an automatic discount was applied is higher than what the order charged. Shopify's subtotal is "after discounts."
- A reloaded thank-you page. A tag that fires on every load of the confirmation page can send the same purchase again when the buyer reloads it or opens it later. On GA4, the
transaction_idis there to "avoid getting duplicate events for a purchase," so a second send with the same order ID can be dropped; a tag that sends no ID, or a different one, has nothing to match on.
The trade-off: comparable or equal
A value that follows a platform's convention is comparable inside that platform: every purchase is measured the same way, so return on ad spend and value-based bidding compare like with like. It can differ from Shopify's total sales, because total sales adds taxes, duties, shipping and fees on top of net sales, and a pre-tax, pre-shipping value leaves tax and shipping out. A refund shows in Shopify on the day it was processed, so the figures can also move apart later. A value equal to the order total can get closer to Shopify's total sales for that order on the day it was placed. A sold gift card or a tip is part of the order total, and total sales leaves both out, so the order total can be farther from total sales than a pre-tax, pre-shipping value. It does not follow GA4's or Pinterest's rule, and it is no more correct once a refund comes in.
Switching hurts. If the value convention changes partway through a month, the history before and after the change measures different things. Where a platform bids from conversion value, as Google says its automated bid strategies "use the conversion values you set up to automatically set bids" (About conversion values), it uses the values it was given, both conventions included. Choose one convention per platform, write down which one, and compare each platform with the Shopify figure that matches it. On the day the order was placed, a value without tax and shipping lines up with net sales when the order has no duties, fees, tips or sold gift card, and no reversal that same day. Total sales is higher by taxes, duties, shipping and fees. A value that leaves tax out but keeps shipping, the $100 in the example, matches neither; on an order with no duties, tips, fees or sold gift card, as in the example, compare it with net sales plus shipping. The same choice decides what your average order value means.
How HonestTag sets the value
On paid plans, HonestTag sends each verified purchase with a value it builds the same way every time.
- From the order's total, not the products. By default, the value comes from the Shopify order's total price, net of tax. It is not a sum of the products, so discounts, which are already in Shopify's total, stay applied.
- Net of shipping where the platform asks. For the purchase sent to Google Analytics 4, and for Pinterest, the order's shipping comes off too, and GA4 gets the shipping on its own
shippingparameter. Every other platform gets the total net of tax, with shipping left in. In the illustrative order above, that is $90 to GA4 and Pinterest and $100 to the others. - Currency with every value. The value is read from the order's shop-currency amount, and that amount's currency is sent with it, so an order paid in another currency is not sent as a foreign amount under your currency's label.
- A missing total. If the order total cannot be read, the subtotal is sent instead, as it is, and only if neither can be read is the value $0. An order whose total really is $0 is sent as $0. Pinterest gets no value in either zero case.
- Gift cards. A gift card sold on the order stays in the value, even though Shopify leaves a sold gift card product out of its sales reports. An order paid partly with a gift card is sent at the part paid some other way (the full value, if HonestTag cannot read the gift card amount). An order paid only with gift cards is not sent as a purchase, because that money was counted when the card was sold, unless the order itself sells a gift card.
- Built from the order, not the thank-you page. The value is read from Shopify's order record, so a reloaded confirmation page does not change it. When GA4's standard purchase event is switched on, a refund goes to GA4 as a
refundevent with the same transaction ID.
The value can still differ from Shopify's total sales: it leaves tax out (and shipping, for GA4 and Pinterest), it keeps a gift card sold on the order that total sales leaves out, and a refund can land in Shopify's report on a different day. If another tool also sends purchases to the same platform, read duplicate purchase events first.
Frequently asked questions
Should the conversion value match the Shopify order total?
Not necessarily. Shopify's order total includes taxes, shipping and discounts. GA4 and Pinterest ask for a value without tax and shipping. On an order whose total is the discounted products plus tax and shipping, that value is lower than the total by the tax and the shipping.
Why do some purchases show a value of zero?
One cause is that the purchase event fired without the order's data, or read a field that was empty. The event goes out as $0 or with no value. Pinterest says the value should not be zero or negative.
Does a refund lower the conversion value?
Only if something tells the platform. Shopify subtracts a refund in its sales reports on the day it was processed. GA4 subtracts a refund when it receives a refund event; a refund that is only recorded in Shopify is not subtracted there.
Should I include tax and shipping in the value?
Follow the platform where it has a rule: GA4 and Pinterest say to leave tax and shipping out. Elsewhere, pick one convention and keep it, so the platform's history compares like with like.
Send a value your store can stand behind
HonestTag builds each purchase value from the order total, net of tax, and takes shipping off where the platform asks.
- Feed your ads a clean signal. The platforms you send to get each verified purchase, new customers marked as new.
- Catch the sales your pixels miss. Purchases are sent from your Shopify orders, server to server.
- Know what to scale. A weekly scale, hold or cut call when the data supports one, and proof behind every attributed order.
- Start free. Keep your current tracking while you look.