Transaction ID
A transaction ID is the unique order number sent with each purchase conversion, so Google Ads and GA4 count every order once and can match refunds to it.
How it works
A purchase tag on the confirmation page fires on every load, so a reload can send the same order twice. With a transaction ID, Google Ads treats a second conversion with the same ID in the same conversion action as a duplicate. GA4 does the same for web purchase events and also needs the ID to process refunds.
The shop generates a unique ID for each order: up to 64 characters, with nothing that identifies the customer. A fixed value such as “thank_you” defeats the purpose: Google warns of significant undercounting or skipped deduplication.
For Google Tag Manager, Google calls the dataLayer the most reliable way to pass the order number. Our guide to the purchase event in Google Tag Manager shows the setup. A conversion adjustment to a website conversion must include the ID; in offline uploads it’s called “Order ID”.
Where you see it
- Google Tag Manager: the Transaction ID field in the Google Ads Conversion Tracking tag;
transaction_idin the Google tag code. - The conversion request: the
oid=parameter. Google Ads reports don’t show it.
Example
Example store, not client data.
The tableware shop gets 300 orders worth 180,000 from 40,000 of spend. If 30 buyers reload the confirmation page and no transaction ID is sent, Google Ads records 330 purchases worth 198,000: ROAS 4.95 instead of 4.5.
Not to be confused with
- Event deduplication — Meta merges browser and server copies of an event by
event_id. The transaction ID does this job in Google Ads and GA4.
Right and wrong readings
- Wrong: “Setting Count to One fixes duplicates.” Right: One keeps one conversion per ad click, so a second real order from that click is lost too.
- Wrong: “With a transaction ID, no order counts twice.” Right: Google Ads matches IDs within one conversion action. If the Google Ads tag and a GA4 import are both primary conversion actions, each order counts twice. Our guide to duplicate conversions in Google Ads covers this.
Sources
- Use a transaction ID to minimize duplicate conversions — Google Ads Help: matching, limits, the tag field,
oid, “Order ID”, the Count setting. Checked 2 October 2026 (archived copy of 8 June 2026). - Import conversion adjustments — Google Ads API:
order_idrequired for website conversions. Checked 2 October 2026. - [GA4] Minimize duplicate key events with transaction IDs — Analytics Help: web streams, refunds. Checked 2 October 2026 (archived copy of 2 September 2026).