If your ad dashboards claim more purchases than your store recorded, start by separating two problems: the same purchase being recorded more than once inside a system, and different platforms taking credit for the same order. They require different fixes.
Do not turn off a tag just because the totals disagree. First establish which order, event, and reporting definition you are comparing.
Follow one authorized test order
Arrange a test with the store owner and whoever maintains tracking. Record a non-sensitive order reference, timestamp and time zone, currency, expected value, and the checkout path used. Follow your normal test-order and refund process; avoid placing an accidental real order.
Then trace that purchase through the systems that are supposed to receive it. The aim is to understand the implementation before changing it.
| Check | What to record | What a discrepancy suggests |
|---|---|---|
| Purchase trigger | The action that sends the event | A reload or repeated callback may send it again |
| Identifier | Transaction or event identifier used by that destination | Missing, reused, or mismatched identifiers need investigation |
| Value | Amount, currency and inclusion of tax/shipping | Reports may be using different revenue definitions |
| Destination | Tag, integration or import receiving the purchase | Two implementations may be measuring the same action |
| Conversion action | Name, source and bidding role | Duplicate actions may influence the reported total or bidding |
| Reporting period | Time zone and conversion date convention | Apparent differences may reflect timing |
Do not put customer names, emails, or payment details into a shared diagnostic sheet.
Check identifiers before rewriting tracking
For GA4 web streams, Google says purchase events with the same transaction ID are deduplicated. Use a unique transaction ID for each transaction; do not reuse it across users or send an empty string. Google also notes that this transaction-ID deduplication does not apply to app streams. See GA4’s transaction-ID guidance.
This is a destination-specific rule. A correct GA4 transaction ID does not prove that another platform’s browser/server deduplication is configured correctly. Ask the implementation owner to verify that platform’s current requirements separately.
Look for two conversion actions describing one purchase
Inside Google Ads, inspect both the action’s source and its role in campaign goals. A purchase imported from Analytics and a separate purchase tag may describe the same business outcome. Their names alone will not tell you whether the setup is intentional.
Google distinguishes primary actions used in bidding and the Conversions column from secondary actions generally used for observation. Custom goals are an exception: their included actions can be used for bidding regardless of primary/secondary status. Review Google’s current definitions before making a change.
The correct fix depends on which action should guide the campaign. Changing settings without that decision can exchange an inflated report for an incomplete one.
Overlapping attribution is a different issue
One shopper can encounter more than one marketing channel before buying. A platform reporting an attributed purchase is not necessarily claiming a second checkout occurred.
Treat store orders as the record of orders, subject to your exclusions and refunds. Treat platform attribution as each platform’s assignment under its own rules. Compare dates, windows and definitions before drawing a conclusion, and do not add channel-attributed purchases together as if they were guaranteed to be unique customers.
This is also why branded versus nonbranded search ROAS needs context. Accurate event collection does not settle which activity caused a sale.
Close the loop after the fix
Keep a before-and-after record of the implementation and settings. Repeat the test, then review enough subsequent activity to confirm that the fix behaves as intended. Retest relevant checkout paths and consent conditions with the implementation owner. One successful test is useful evidence, not proof that every path works.
If tracking is sound but visitors still are not buying, move to the ads-versus-landing-page diagnostic. Event collection and conversion performance are separate questions.
For help defining what the campaign should optimize toward, talk with BPM’s paid search team. Bring the purchase definitions and the discrepancy you can reproduce, rather than just two screenshots with different totals.



