The short answer

If one real purchase is recorded more than once, reported revenue and ROAS can be inflated. Start an investigation by reconciling transaction records, not by assuming that every difference between the store and analytics is a duplicate.

Understand the effect on the ratio

Illustrative inputs: ten genuine orders at $100 each and $250 of ad spend produce $1,000 ÷ $250 = 4× ROAS. If five of those orders are incorrectly counted twice at full value, recorded revenue becomes $1,500, and the reported ratio becomes $1,500 ÷ $250 = 6×. Actual order revenue has not increased.

Trace one order through the records

Compare order identifier, event time, value, currency, and event source. Check whether a confirmation-page refresh, repeated event dispatch, or multiple tracking implementations sent the same purchase again. These are investigation paths, not a diagnosis of your site. An order with several items is still one purchase even if item-level records contain several rows.

Use identifiers according to the platform’s rules

Google states that Analytics can deduplicate purchase events with the same transaction ID for web streams; the documented behavior does not apply to app streams. Use a unique identifier per order and avoid an empty or reused value. See Google’s transaction-ID documentation before changing an implementation.

Do not “fix” valid transactions away

A customer may place multiple legitimate orders. Removing events simply because they share an email address or amount can undercount revenue. Reconcile against the order system and preserve a record of the rule used. Keep personal customer information out of public diagnostics and use non-identifying transaction keys where possible.

Validate after a correction

  1. Confirm a genuine new order records the expected value and currency.
  2. Check that a repeat event for the same order is handled as intended.
  3. Confirm a different order is still counted.
  4. Compare totals after allowing for reporting delay and attribution scope.

A tracking correction may affect future data without rewriting the historical report. Annotate the change and avoid presenting the resulting ROAS drop as a sudden deterioration in customer behavior. Report corrected order revenue separately when the historical platform data remains inflated.

Trace an order identifier

  1. Gather: Compare the order record with event identifiers, timestamps, values, currency and dispatch source.
  2. Produce: Test a repeat event and a genuinely different order after fixing the source of duplication.

Decision boundary: Shared email or equal order value alone is not evidence two purchases are duplicates.

Next reading

Examples are illustrative, not client results or benchmarks. The calculations use the inputs shown; real-world decisions depend on your records and assumptions. Report a correction.