Home / Tracking parameter reference

Google Ads conversion parameters, explained

What each parameter in a Google Ads conversion request means — the conversion, the click it is attributed to, enhanced conversions and the parameters nobody sets — including the ones Google does not document.

46 parameters · descriptions from the Tag Master extension’s glossary · Decode a real Google Ads conversion request →

Where the request goes

A Google Ads conversion goes to googleadservices.com/pagead/conversion/<conversion ID>/, with a view-through copy to googleads.g.doubleclick.net/pagead/viewthroughconversion/. With the Google tag and first-party mode it can also appear as /ccm/conversion/ or /pagead/1p-conversion/ on a Google host, or on your own domain through Google tag gateway. The conversion ID is in the path; the label identifies the conversion action.

The conversion

Which conversion action, and what it was worth.

ParameterWhat it means
labelConversion LabelConversion label — which conversion action in Google Ads this hit reports.
valueConversion ValueThe monetary value reported for this conversion.
currency_codeCurrencyCurrency of the conversion value, ISO-4217.
oidOrder id, used to drop the same conversion if it is reported twice. A missing or changing oid is how one sale becomes two.
oidsrcWhere that order id came from — whether you supplied it or the tag made one up.
bttypeWhat kind of conversion this is — purchase, lead, signup. It comes from the conversion action in your Ads account.

Click and attribution

What ties the conversion to the ad click that brought the visitor.

ParameterWhat it means
gclidGoogle Click IDGoogle click id. Without it, a conversion cannot be attributed to the ad that produced it.
gclawGCLID (aw)The Google click id as stored in the _gcl_aw cookie.
auidThe Google Ads linker id from the _gcl_au cookie, tying this conversion to the click that brought the visitor.
gcl_ctrCounters for the click ids the linker is holding.
fstWhen this browser was first seen for this conversion, in milliseconds. Google uses it against the conversion window.

Enhanced conversions

Hashed customer data sent with the conversion to improve matching.

ParameterWhat it means
emEmail (Hashed)Enhanced conversions email envelope. tv.1~em.<sha256> is correct; a plain address here would be a policy problem.
phPhone (Hashed)Customer phone for enhanced conversions, hashed the same way, in E.164 form before hashing.
ec_modeEnhanced conversions mode. "a" is automatic, where the tag scrapes the page for an email itself rather than being handed one.
capiEnhanced conversions are travelling with this hit.
emdPart of the same enhanced-conversions envelope as em. Google does not document its layout, so this panel does not pretend to read it.
eptAlso part of the enhanced-conversions envelope, and also undocumented.

Page

Where the conversion happened.

ParameterWhat it means
urlThe page the conversion happened on. Anything personal in this URL is now in the hit as well.
refThe page the visitor came from.
tibaThe page title at the moment the conversion fired.
hnThe host that received the hit. googleadservices.com is the click-measurement path; a first-party host here means server-side.

The consent state the tag knew when it sent the conversion.

ParameterWhat it means
gcsConsent State (gcs)Consent state at the moment of the hit, read as G1<ad_storage><analytics_storage>: G111 means both granted, G100 means both denied.
gcdConsent Default (gcd)The consent defaults the page declared, including ad_user_data and ad_personalization. It tells you what the site asked for before the visitor answered.
npaNon-personalised ads. 1 means this hit may not be used for remarketing.

Technical

Set by the tag, not by you. Worth knowing so they can be ignored.

ParameterWhat it means
randomCache buster. A fresh number each time so no proxy or browser serves a stored copy of the conversion.
cvVersion of the conversion tag itself. Nothing you set.
fmtFormat of the legacy conversion pixel. Left over from the image-tag era.
bgBackground colour of that legacy conversion image. Cosmetic, and invisible.
guidA legacy flag, always ON. It does not carry an id despite the name.
asyncThe tag was loaded asynchronously, which is how every modern install works.
gtmA version string for the container and tag that fired this. Useful only when Google support asks for it.
u_wScreen width in pixels.
u_hScreen height in pixels.
gap.last_randomThe cache buster of the previous conversion ping from this page.
gap.last_labelThe conversion label of that previous ping. Two labels in a row from one page is worth a look.
_tuAn internal Google flag. Not documented.
categoryAn internal Google category tag on the request. Not documented, and not the product category.
ecsid2An internal Google session identifier for enhanced conversions. Not documented, and nothing you configure.

Client hints

What the browser reports about itself, in place of the old user agent string.

ParameterWhat it means
uaaClient hint: processor architecture.
uabClient hint: 32 or 64 bit.
uafvlClient hint: the full browser version list, which is what replaced the user agent string.
uambClient hint: 1 if this is a mobile browser.
uamClient hint: device model, on mobile.
uapClient hint: operating system.
uapvClient hint: operating system version.
uawClient hint: 1 if this is 32-bit Windows running on 64-bit.

What goes wrong

The checks the Tag Master extension runs on every Google Ads conversion hit it captures. Each is something the platform drops, cuts or misreports without saying so in its own interface.

Dropped or wrongA currency that is not a three-letter code

Platforms cannot convert an unknown currency, so the value is dropped or read as the account default — silently changing what the sale was worth.

Fix: Send the three-letter code: TRY, EUR, USD. Not the symbol, not lowercase.

Platform documentation

Dropped or wrongA value that is not a plain number

A value carrying a currency sign, a thousands separator or a comma decimal reads as zero on the platform side.

Fix: Send 1649.25 — no symbols, no spaces, dot as the decimal separator.

Worth a lookA negative value

Unless this is a refund event, a negative value subtracts from reported revenue.

Fix: Send the absolute order value, and use the platform's refund event for returns.

Have a request in front of you? Paste it into the tracking request decoder and every parameter above is named on the hit itself, with these checks run on it. The Tag Master extension does the same for every request on the page, live.

Questions

Where is the order ID in a Google Ads conversion?

In oid. Google Ads uses it to drop a conversion reported twice for the same order, so a missing or changing oid is how one sale becomes two.

How do I know enhanced conversions are working?

The em parameter should carry a hashed value, written by the Google tag as tv.1~em.. A readable email there means it is not hashed, and capi or ec_mode tell you enhanced conversions are active.

Why is there no gclid on my conversion?

Because the click ID was not kept. The Google tag stores it in the _gcl_aw cookie through the conversion linker; if the linker is missing, consent blocked it, or the visitor crossed domains without the linker, the conversion arrives with no click to attribute to.

Related guides

Other references: GA4 · Meta Pixel · TikTok Pixel

Try it on your own site

Tag Master is free, needs no account, and collects no data.

Add to Chrome — Free