Media buying

Google Ads and Shopify revenue don’t match. Which number should guide the budget?

By Mirow · · 7 min read

Before changing the budget, make the comparison specific: one purchase conversion action, one date basis, one currency, and one definition of sales. Then separate errors in the data sent to Google from differences in how the platforms assign credit. Google Ads conversion value and Shopify total sales answer different questions; matching their headline totals is not the goal.

Use reconciled order economics to set the amount the business can afford to spend. Use a verified Google Ads purchase signal to guide campaign decisions. If the purchase value is duplicated or wrong, pause planned budget increases while you repair it. A reporting difference alone does not justify cutting a working campaign.

Write down the two numbers you are comparing

Save both reports with their names, columns, filters, date range, time zone, currency, and extraction time. “Shopify revenue” is too vague to audit. Store-wide sales, sales attributed to Google, and bank payouts are different measures.

Shopify defines net sales as gross sales minus discounts and sales reversals. Total sales also includes taxes, duties, shipping charges, and fees. Its sales reports can include pending, unpaid, and canceled orders, and they do not measure cash received. Filter for the order population your decision requires instead of assuming the dashboard is a list of paid purchases. Shopify’s sales-report definitions.

Google Ads conversion value comes from the conversion actions and values in the selected report. Segment by conversion action and identify the intended purchase action. A purchase recorded through a website tag and a purchase imported from Analytics may be two measurements of the same business event. Adding them together does not establish two orders.

Check whether each action is primary or secondary and which goals the campaign uses. Primary actions normally feed the Conversions column and bidding when their goal is selected; secondary actions appear in All conversions. A custom goal can use a secondary action for bidding, so the label alone is not the whole check. Google’s conversion-action guidance.

Align the date before investigating the amount

In standard Google Ads conversion reporting, a purchase can be credited back to the date of the ad interaction. The “by conv. time” columns place it on the conversion date. For an order-date comparison, inspect the intended purchase action’s Conv. value (by conv. time). If it is only available in an All conversions view, filter that view to the intended action before totaling it. Google’s reporting-column definitions.

For example, a September 18 ad click followed by a September 20 purchase falls on September 18 in click-date reporting and September 20 in conversion-time reporting. That shift can explain a daily gap without any missing purchase event.

Record the account time zones and map timestamps to the same boundary in your worksheet. Confirm the currency code alongside each value; do not compare a presentment-currency order amount with a reporting-currency total as if the units match. Keep the exchange-rate basis explicit when converting. Google reports conversion values in the account’s billing currency and may convert incoming values. Google’s conversion-value settings.

Leave recent periods open to revision. Check the account’s observed conversion delay and the data source’s processing status before treating a day as complete. Google’s data-freshness guidance. Keep interaction-date reporting for assessing spend against the conversions credited to those interactions; conversion-time reporting serves a different comparison.

Test the value with three orders

Start with a small diagnostic sample you can trace: an ordinary order, a discounted order, and a refunded order. This tests the value sent at purchase and its later adjustment. It does not establish which channel caused the sale.

The following is a hypothetical order-cohort audit in USD, not a Shopify calendar-period report or a Google Ads attribution export. All three orders are paid online orders. Merchandise amounts are after discounts. There are no duties, extra fees, or currency conversions. This illustrative tracking setup sends merchandise plus customer-paid shipping plus tax as purchase value; inspect your own setup rather than assuming it does the same.

Scroll horizontally to see all columns.

Hypothetical purchase payloads · USD
Order Merchandise after discounts Shipping charged Tax Original purchase value sent
A $100.00 $5.00 $8.40 $113.40
B $80.00 $0.00 $6.40 $86.40
C $120.00 $10.00 $10.40 $140.40
Total $300.00 $15.00 $25.20 $340.20

After purchase, order B’s merchandise and tax are fully refunded: $80 + $6.40 = $86.40. Assume no adjustment has been sent to Google. The original event values still sum to $340.20; retained merchandise sales for these orders are $220.

Here is the bridge between those two definitions:

Scroll horizontally to see all columns.

From original event values to retained merchandise sales · USD
Step Amount
Original purchase values sent $340.20
Remove original customer-paid shipping −$15.00
Remove original tax −$25.20
Merchandise sales before the later reversal $300.00
Remove order B’s merchandise reversal −$80.00
Retained merchandise sales for this order cohort $220.00

The $120.20 gap is fully explained in this example. Do not subtract the $6.40 refunded tax again: all original tax was already removed. For a contribution calculation, account for customer-paid shipping and actual shipping expense consistently; excluding shipping from this merchandise comparison does not make the shipping economics disappear.

A later reversal also has a date. Shopify records sales on the sale date and reversals on the processing date. To reproduce a calendar-period report, include the reversals processed inside that period, including those attached to earlier orders. To examine an order cohort, attach subsequent adjustments to its original orders and state the cutoff date. Those views need not total the same. Shopify’s sales and reversals rules.

Google supports conversion restatements and retractions. Verify whether your integration actually sends the relevant adjustment and whether Google accepts it; a Shopify refund by itself is not evidence that the Ads value changed. Google’s conversion-adjustment guidance.

Check duplication separately from attribution

For the sampled orders, inspect the purchase payload in your own tag diagnostics or server records. Record the transaction ID, conversion action, value, currency, and event time. Keep customer details out of shared audit sheets.

Google deduplicates repeated events with the same transaction ID within the same conversion action. That does not deduplicate two separate purchase actions. Google also says transaction IDs are not reported in Ads, so do not plan on exporting a complete order-ID join from its standard report. Setting Count to “One” is not a substitute: it can suppress separate genuine purchases following an interaction. Google’s transaction-ID guidance.

Once event delivery is sound, review attribution. Shopify’s marketing reports offer different attribution models; record the selected model rather than assuming a universal default. Google’s conversion window determines how long after an ad interaction a purchase can receive credit. Different models, windows, and observable journeys can leave different channel totals even when the purchase values are correct. Shopify’s marketing attribution reports, Google’s conversion windows.

Google reporting can include modeled conversions and fractional attribution credit. A validated sample of observed events therefore cannot prove that every aggregate reporting difference has an order-level explanation. Do not force the remaining gap into a made-up adjustment. Google’s conversion reporting.

Turn the finding into a budget decision

Use a short issue log with the amount affected, evidence, owner, and next review date. These are operating recommendations; they are not platform-prescribed spending rules.

Scroll horizontally to see all columns.

Reporting findings and budget decisions
Finding Next action Budget implication
The gap disappears after matching dates or sales definitions Save the matched report views and document the bridge Assess performance using the consistent measure; do not react to the original mismatch alone
A purchase is counted twice or sends the wrong value or currency Fix the event or conversion-action setup; verify fresh observed orders and adjustment handling Hold the planned increase while the bidding signal is unreliable; use a deliberate spend cap
Values are correct but channel credit differs Document models, windows, and the unexplained remainder Keep attribution limits visible; use a controlled incrementality test if the spend decision depends on causal impact
Orders and tracking reconcile, but contribution after media is below the business’s floor Recalculate with current product, fulfillment, payment, return, and media costs Act on the economic shortfall rather than explaining it away as attribution

A reconciled sales figure is still revenue. Use the break-even ROAS calculation to connect it to contribution dollars and margin after variable costs and media. Attribution credit alone does not prove incremental sales or profit. Google distinguishes attributed conversions from incremental conversions measured against a control group. Google’s Conversion Lift definitions.

Before the next budget review, bring the two saved report definitions, the three-order trace, and the issue log. The useful result is a supported explanation of the difference, plus an explicit list of what remains unknown. That is enough to decide which signal can support the next spend change.

Make the next budget decision with a clear view of performance.

Book a call with Mirow ↗
MirowGrowth analysis from Mirow, a Charlotte-based agency connecting creative, media buying, conversion, and loyalty.