{"schemaVersion":"1.0","canonicalUrl":"https://www.iamgeorgekelly.com/field-guide/retail-media-order-reconciliation","markdownUrl":"https://www.iamgeorgekelly.com/field-guide/retail-media-order-reconciliation/index.md","editorialNote":"AI-assisted research and drafting. Provider-specific claims link to primary sources. Frameworks are editorial proposals; worked examples are illustrative and are not employer performance results.","publication":{"name":"iamgeorgekelly","url":"https://www.iamgeorgekelly.com"},"citation":"George Kelly. Why retail-media revenue and settled orders disagree iamgeorgekelly. Updated 2026-09-18. https://www.iamgeorgekelly.com/field-guide/retail-media-order-reconciliation","slug":"retail-media-order-reconciliation","title":"Why retail-media revenue and settled orders disagree","description":"Bridge ad-attributed sales to a defined order ledger, preserve unresolved differences, and keep bank payouts separate. Includes a worked USD example and CSV/JSON worksheet.","category":"Economics","status":"published","published":"2026-09-13","updated":"2026-09-18","author":"George Kelly","answer":"Ad-attributed sales, net order sales, and money paid to your bank answer different questions. Freeze the exact report definitions, align dates and product scope, apply evidenced adjustments once, and show any unresolved balance. A reconciled ledger does not establish incremental advertising impact.","sections":[{"id":"define-settled","title":"Define what you mean by settled","paragraphs":["Here, settled orders means an operational snapshot of net product sales after the cancellations and refunds known at extraction. It is not a universal accounting definition, a bank settlement, or a guarantee that later returns cannot occur.","State the target explicitly: one retailer, seller account, product scope, currency, order-date window, and as-of date. Name whether discounts, tax, shipping, returns, and fees are included. If you mean cash received, build a separate payment bridge."]},{"id":"report-contract","title":"Check the exact report contract","paragraphs":["Amazon’s ad-campaign attribution documentation explains that sponsored-ad conversions can be reported against the earlier ad interaction date. Its DSP documentation instead specifies conversion-date reporting. A rule copied from one report can therefore be wrong for another.","Lookback windows, eligible products, and click/view attribution depend on campaign type. Amazon also documents differences involving cart discounts, product or seller scope, and cancellation processing. Freeze a sufficiently mature extract and record the applicable definitions; do not assume every program uses the same window."],"table":{"headers":["Boundary","Record before comparing"],"rows":[["Date","Ad interaction, order, shipment, refund, or payout date; timezone and extraction timestamp"],["Attribution","Campaign type, click/view eligibility, lookback window, and maturity"],["Product and seller","Advertised items versus broader attributed items; the seller represented by each ledger"],["Value","Currency, discounts, tax, shipping, cancellations, refunds, and any amounts already netted"]]},"sources":["amazon-attribution","amazon-dsp"]},{"id":"worked-bridge","title":"Build the bridge and leave the residual visible","paragraphs":["The following USD example is fictional and provider-neutral. It assumes the reviewer has permitted evidence for each cohort and scope adjustment. It is not an Amazon export, a Shopify reconciliation, or a claim that those platforms expose matching order identifiers.","Start with 10,000 of mature ad-attributed product sales. The target is the retailer’s net product sales for an order-date week, excluding tax, shipping, and fees. The refund adjustment below contains only amounts not already deducted in the starting snapshot."],"table":{"headers":["Step","Change, USD","Running total, USD"],"rows":[["Mature ad-attributed product sales","10,000","10,000"],["Later order dates outside the target week","-1,200","8,800"],["Earlier interactions with orders inside the target week","700","9,500"],["Products or sellers outside the target ledger","-900","8,600"],["Additional cancellations or refunds absent from the snapshot","-600","8,000"],["Other deduplicated orders outside this ad-attributed set","4,000","12,000"]]},"download":{"url":"/downloads/retail-media-reconciliation.csv","label":"Download the fictional reconciliation bridge (CSV)"}},{"id":"residual","title":"An unexplained 50 is still unexplained","paragraphs":["The bridge totals 12,000. The independently observed target ledger is 11,950. Residual = target ledger − bridge = −50. The difference remains unresolved; adding a miscellaneous −50 line would conceal the problem.","Investigate duplicate adjustments, missing refunds, scope mapping, and timing. Attach the evidence for a correction or preserve the residual with an owner and next check. Even a zero residual can hide two offsetting errors.","The 4,000 of other orders is a deduplicated remainder outside this particular attributed set. Calling it organic, incremental, or unaffected by ads would require separate evidence. Do not sum overlapping campaign or platform claims to manufacture a total."]},{"id":"cash-is-separate","title":"Keep the cash bridge separate","paragraphs":["A bank deposit can differ from order sales because of payment timing, fees, refunds, reserves, and other balance activity. Shopify’s Payments activity report explicitly distinguishes those movements from a revenue statement.","For a separate fictional payment-period example: 13,000 captured charges − 500 refunds − 350 fees − 200 newly held funds = 11,950 balance activity before payout, assuming no other movements. That matching number is coincidence: it does not connect this payment period to the order-date ledger above. Track opening and closing balances and actual payout transfers separately."],"sources":["shopify-payments"]},{"id":"when-data-is-limited","title":"What to do when the join is unavailable","paragraphs":["Retail-media reports may expose only aggregates. If the available data cannot identify which orders, products, or adjustments belong in a bridge, label that portion not reconcilable from these exports. A plausible estimate is not an evidenced adjustment.","Save the report definitions and observed difference anyway. Request the missing authorized report, wait for the stated adjustment window, or make a narrower comparison. Do not infer individual shoppers from aggregate figures."],"download":{"url":"/downloads/retail-media-reconciliation.json","label":"Download the bridge, scope rules, and blank row (JSON)"}},{"id":"commercial-decision","title":"Use the right result for the next decision","paragraphs":["Use the order ledger to continue into costs and contribution. Use payment records to understand cash movement. Use the ad report to assess performance under its attribution definition. None of these alone measures what would have happened without advertising.","Before changing spend, reconcile material unknowns and inspect margin, returns, and inventory. A clean dashboard comparison is useful evidence handling; it is not a profitability or incrementality verdict."],"links":[{"slug":"returns-adjusted-contribution","label":"Calculate contribution after returns","reason":"Carry the reconciled order cohort into a profit review."}]}],"sources":[{"id":"amazon-attribution","title":"Amazon Ads: Ad campaign attribution","url":"https://advertising.amazon.com/help/GX7KDKHMWQYMJ385","note":"Supports sponsored-ad interaction-date reporting, campaign-specific lookback/product scope, and adjustments. Do not apply this date convention to every Amazon reporting product.","checked":"2026-09-13"},{"id":"amazon-dsp","title":"Amazon Ads: Conversion attribution for DSP","url":"https://advertising.amazon.com/help/G3BB9TWP5KC375TJ","note":"Documents conversion-date reporting for Amazon DSP, illustrating why the exact report contract matters.","checked":"2026-09-13"},{"id":"shopify-payments","title":"Shopify: Payments activity report","url":"https://help.shopify.com/en/manual/payments/shopify-payments/payouts/payouts-activity-report","note":"Distinguishes payment-balance activity, fees, holds, and payouts from revenue. This is an independent platform example, not an Amazon-to-Shopify integration.","checked":"2026-09-13"}],"related":["returns-adjusted-contribution","roas-poas-profit","inventory-aware-ad-spend","search-console-ga4-vercel-traffic"],"project":"vintage-bath-home"}