How to Set Up Conversion Tracking in Google Ads: 12 Steps 2026
Setting up conversion tracking in Google Ads takes about 20 minutes and requires exactly two components: a conversion action created inside your Google Ads account, and a Google tag (or event snippet) installed on your site. Without it you are bidding blind, and a large share of small advertisers either misconfigure tracking or never confirm it actually fires. This guide walks through all 12 steps, covers the 2026 Google tag and enhanced conversions flow, includes Google Tag Manager and server-side setups, gives you copy-paste code, and fixes the errors that break the most installs. By the end you will have a verified, revenue-ready measurement stack.
What conversion tracking in Google Ads actually measures
Conversion tracking connects an ad click to a meaningful action on your site: a purchase, a lead form submission, a phone call, a newsletter sign-up, or an app install. Google Ads records the action against the click that drove it using the GCLID (Google Click Identifier), a parameter appended to your landing page URL when someone clicks an ad. The browser stores that identifier in a first-party cookie. When the same user later converts, the Google tag reads the GCLID and reports the conversion back to the account, where it is attributed to the campaign, ad group, keyword, and creative responsible.
This matters because every automated bidding strategy in Google Ads depends entirely on conversion data. Maximize Conversions, Target CPA, Target ROAS, and Maximize Conversion Value cannot optimize toward an outcome they cannot see. An account running Smart Bidding without accurate tracking is spending budget against a proxy signal, usually raw clicks, that correlates weakly with revenue. According to Google's own conversion tracking overview, the entire purpose of the feature is to show what happens after a customer interacts with your ads so you can measure return and feed bidding.
There are four broad conversion categories in the 2026 interface: Sales, Leads, Page views, and Other. Within each you choose a conversion action that represents a single event. A Sales action might be a checkout; a Leads action might be a Contact Us submission. The category influences default counting behavior, the default attribution treatment, and how the conversion contributes to bidding. You also choose a value (fixed, dynamic, or none), a count method (one or every), a click-through conversion window (up to 90 days), and a view-through window. Get those settings wrong and your reported numbers will look fine while quietly misleading every optimization decision downstream.
Prerequisites and exact versions you need before you start
Before you create anything, confirm you have the right access and the right tooling. Conversion tracking fails most often not because of bad code but because the person installing it lacks edit rights to either the ad account or the website. Walk this checklist before step one so you do not stall halfway through. If you outsource implementation, this is also the brief your developer or a partner agency needs.
- Google Ads access: Admin or Standard access to the account. Read-only access cannot create conversion actions. If you manage multiple accounts, decide whether to track at the manager (MCC) level or per account, because conversion actions can be created and shared from a manager account.
- Website edit access: The ability to add code to the global
<head>of every page, either directly in your CMS theme or through a tag manager container. - Google tag (gtag.js): The current global tagging library that replaced the legacy
analytics.jsand the old AdWords conversion script. This is the 2026 default. - Google Tag Manager: Optional but recommended. Use a Web container for client-side tracking, and a Server container if you plan server-side tagging.
- Consent Mode v2: Mandatory if you serve users in the EEA, the UK, or Switzerland. Google began enforcing Consent Mode v2 for personalization and remarketing features in March 2024, and conversion modeling depends on it.
- A test path: A staging environment, or the ability to place a real test order or submit a test lead, so you can validate before going live.
- HTTPS: A secure site. Enhanced conversions and modern cookie behavior assume TLS.
- Google Ads Editor (optional): Version 2.7 or later if you prefer bulk management of conversion settings offline.
If you are also planning to improve what happens after the click, line up your landing page work in parallel. Tracking tells you which keywords convert, but conversion rate optimization is what raises the rate itself. The two efforts compound: better data makes Smart Bidding sharper, and a higher-converting page gives the algorithm more signal to learn from.
The three setup paths compared: Google tag, event snippet, and GTM
There is no single correct way to install Google Ads conversion tracking. There are three mainstream paths, and the right one depends on your site, your team, and your appetite for server-side measurement. Below is a direct comparison so you can choose before you start clicking. The hard-coded Google tag plus event snippet path is the fastest for a small site. Google Tag Manager is the standard for any team that ships more than one tag. Server-side GTM is the durable path for advertisers who want measurement to survive browser restrictions and ad blockers.
| Setup path | Best for | Key requirement |
|---|---|---|
| Hard-coded Google tag + event snippet | Small sites, single developer, simple thank-you-page conversions | Edit access to page HTML |
| Google Tag Manager (Web container) | Teams running multiple tags and triggers | GTM container installed on all pages |
| GTM + Conversion Linker tag | Any GTM setup that needs correct attribution | Conversion Linker firing on all pages |
| Server-side GTM | Advertisers fighting ITP, ad blockers, signal loss | A server container endpoint |
| Enhanced conversions (web) | Lead-gen and ecommerce wanting recovered data | Hashed first-party data in the tag |
| Enhanced conversions for leads | CRM-based offline lead matching | Hashed email captured at submission |
| Google tag via CMS integration | Shopify, WordPress, Wix users | Native app or plugin connection |
| Phone call conversions | Service businesses driving calls | Call extensions or a Google forwarding number |
| App conversions (Firebase) | Mobile app installs and in-app events | Firebase SDK linked to Ads |
| Offline conversion import | Long sales cycles, B2B pipelines | GCLID capture and a CRM upload |
For most B2B marketers reading this, the practical answer is path two or three: Google Tag Manager with a Conversion Linker, optionally upgraded to server-side later. The hard-coded path is fine for a one-page lead funnel, but it becomes a maintenance burden the moment you add a second conversion or want to fire on a click rather than a pageview. Stape's 2026 server-side guide recommends starting client-side, validating, and only then routing data through a server container so you have a working baseline to compare against.
Steps 1 to 4: create a conversion action in Google Ads
Everything begins inside the ad account. The Google Ads API documentation states plainly that at least one ConversionAction must exist in the conversion account before tracking can be enabled at all, whether you set it up in the interface or programmatically. So the conversion action is not optional groundwork, it is the object every tag points at.
- Open Goals, then Conversions, then Summary. In the 2026 navigation, click the Goals icon in the left rail, expand Conversions, and select Summary. The screen shows a table of existing conversion actions with columns for source, category, status, and a small Tracking status chip that reads Recording, No recent conversions, or Inactive.
- Click the blue plus Create conversion action button. Google presents four source tiles: Website, App, Phone calls, and Import. For a web lead or sale, choose Website. The screen then asks for your domain so it can scan for an existing Google tag.
- Enter your URL and scan, or set up manually. Type your domain and click Scan. If a Google tag is found, Google shows a green check and offers to create actions automatically. If none is found, the 2026 flow surfaces a prompt that reads Activate measurement with a Google tag, which you will complete in the next section. Choose the manual path labeled Add a conversion action manually for full control.
- Define the action settings. Pick a Category (Submit lead form, Purchase, Sign-up, Contact, and so on), enter a Conversion name like "Demo request form", choose a Value, set the Count method to One for leads or Every for sales, set the Click-through window, and decide whether this action counts toward the Conversions column used for bidding. Click Done, then Save and continue.
The output of these four steps is a conversion action with a status of Eligible or Inactive and, critically, a Conversion ID and Conversion label pair that looks like AW-123456789 and AbC-D_efGhIjKlMnOp. You will paste these two values into your tag in the next stage. Copy them now into a scratch document. Mis-copying the label by a single character is the single most common reason a tag reports zero conversions while appearing to install correctly.
Google's Help Center is explicit that web conversion setup begins in Goals, then Conversions, then Create conversion action, and the 2026 flow now prompts you to "Activate measurement with a Google tag" if one is not already installed, showing that the Google tag has become a central prerequisite in the setup path rather than an afterthought. Source: Google Ads Help, conversion setup, 2026.
Steps 5 to 8: install the Google tag and event snippet
With a conversion action created, you now place code on the site. The modern stack has two pieces: the Google tag, installed once on every page, and the event snippet, placed on the specific page or event that represents the conversion. The Google tag handles the GCLID cookie and general measurement. The event snippet tells Google the exact moment a conversion happened.
- Copy the Google tag. After saving the action, Google offers three install options: Install the tag yourself, Use Google Tag Manager, or Email the tag to a developer. Choose Install yourself. Google shows the gtag.js block with your account ID already inserted.
- Paste the Google tag into the head of every page. Place it immediately after the opening
<head>tag, before any other script. If the tag already exists for Google Analytics, you do not add a second copy, you add your Ads ID as an additional config line.
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-123456789"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-123456789');
</script>
- Add the event snippet to the conversion moment. For a thank-you page, paste the event snippet into the page that loads only after the action completes. For a click or form event, fire it inside an event handler so it does not run on every pageview.
- Insert dynamic value and transaction ID if you have them. For sales, populate value, currency, and a unique transaction_id to prevent duplicate counting. For a fixed-value lead, hard-code the value you assigned in step 4.
<!-- Event snippet for a Lead conversion -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-123456789/AbC-D_efGhIjKlMnOp',
'value': 50.0,
'currency': 'USD',
'transaction_id': ''
});
</script>
The send_to value is the Conversion ID and label joined by a slash. That string is the link between your page and the right conversion action. Google's gtag.js reference documents every parameter the event accepts, including value, currency, and transaction_id. Once both pieces are live, the conversion action status moves from Inactive to Recording within hours of the first real conversion, though it can take up to 24 hours to appear in reporting. Do not panic at a No recent conversions chip on day one.
How to set up conversion tracking with Google Tag Manager
Most teams should run this through Google Tag Manager rather than hard-coding snippets, because GTM separates marketing tags from the codebase and lets non-developers manage triggers safely. The Analytics Mania GTM walkthrough documents the canonical sequence, and it matches Google's own recommended flow. The one piece people forget is the Conversion Linker, which is what makes click attribution actually work.
- Add a Conversion Linker tag. In your Web container, create a new tag of type Conversion Linker and set its trigger to All Pages. This tag reads GCLID from the URL and writes it to a first-party cookie so later conversions can be attributed. Without it, conversions fire but attribution breaks.
- Create the Google Ads Conversion Tracking tag. Choose the Google Ads Conversion Tracking template. Paste your Conversion ID and Conversion Label from step 4 into the two fields. Add value and transaction ID variables if you have ecommerce data in the dataLayer.
- Build the trigger. For a form, use a Custom Event trigger whose event name matches your dataLayer push exactly. Case sensitivity matters:
generate_leadandGenerate_Leadare different events. - Push the dataLayer event from the page. Add a small script that pushes the event when the form succeeds, ideally on an AJAX success callback rather than on the submit click, so failed submissions do not count.
<script>
window.dataLayer = window.dataLayer || [];
document.querySelector('#contact-form')
.addEventListener('submit', function(){
window.dataLayer.push({
'event': 'generate_lead',
'form_id': 'contact-form',
'value': 50.0
});
});
</script>
Tag type: Google Ads Conversion Tracking
Conversion ID: 123456789
Conversion Label: AbC-D_efGhIjKlMnOp
Conversion Value: {{DLV - value}}
Transaction ID: {{DLV - transaction_id}}
Trigger: Custom Event = generate_lead
Stape's 2026 implementation guide states that a Conversion Linker tag set to fire on all pages is essential for attribution and cookie linking behavior, and that skipping it is one of the most common reasons GTM conversion tracking under-reports. Source: Stape, Google Ads conversion tracking, 2026.
Google maintains its own reference on the Conversion Linker in the Tag Manager Help Center. Treat that tag as non-negotiable in any GTM setup. If you manage tags for many clients or properties, a centralized container strategy and a library of reusable triggers will save hours; this is the kind of plumbing our team standardizes inside a broader growth and demand engagement so measurement is consistent across every channel.
Enabling enhanced conversions for better measurement
Enhanced conversions recover data that browser restrictions and consent rejection would otherwise lose. The mechanism is simple: when a user converts, your tag captures first-party data they already gave you, usually an email, hashes it with SHA-256 in the browser, and sends the hash to Google. Google matches the hash against signed-in user data to attribute conversions that the cookie alone would miss. Google reports that advertisers enabling enhanced conversions typically recover conversions that were previously unobservable, and the feature has moved from optional to strongly recommended in the 2026 setup flow.
There are two flavors. Enhanced conversions for web improves measurement of online conversions like purchases. Enhanced conversions for leads improves offline matching, so a lead captured today and closed in your CRM three weeks later can still be attributed to the original click. For lead-gen B2B advertisers, the leads variant is the higher-value one because your sales cycle outlasts any cookie.
- Turn it on in the conversion action. Open the action, scroll to Enhanced conversions, toggle it on, accept the customer data terms, and choose your implementation method: Google tag, Google Tag Manager, or the API.
- Provide user data in the tag. Pass hashed or raw first-party fields. If you pass raw values over HTTPS, Google hashes them before they leave the browser. Provide email at minimum; phone and address improve match rates.
- Agree and finish. The 2026 flow ends with an explicit Agree and finish step that confirms you have the right to use the data and that it is collected with consent.
gtag('set', 'user_data', {
"email": "[email protected]",
"phone_number": "+15555550123",
"address": {
"first_name": "Jane",
"last_name": "Doe",
"postal_code": "10001",
"country": "US"
}
});
Read Google's official guidance in the enhanced conversions Help Center article before you ship this, because the data you send is subject to Google's customer data policies and, in regulated regions, to consent requirements. Do not pass user data without a lawful basis. Implemented correctly, enhanced conversions usually lift observed conversion volume by a meaningful margin and, more importantly, make Smart Bidding decisions on a fuller dataset.
Server-side tagging with server GTM
Client-side tags run in the user's browser, where ad blockers, Intelligent Tracking Prevention, and aggressive privacy extensions can intercept or shorten them. Server-side tagging moves the measurement logic to a server container you control, usually on a subdomain of your own site, so requests originate first-party and survive more of those restrictions. This is the most resilient path for 2026, and it is increasingly standard for advertisers who treat measurement as infrastructure rather than a marketing afterthought.
The architecture has three layers. Your web GTM container collects events as usual. Instead of sending them straight to Google, it forwards them to your server container endpoint. The server container then dispatches a clean, server-side request to Google Ads. Stape's guidance describes exactly this redirect: stand up a server container, point web GTM at the server endpoint, and only then configure the Ads conversion tag on the server side.
- Provision a server container. Create a Server container in GTM and deploy it, either on Google Cloud Run or a managed host. Map it to a first-party subdomain like
sgtm.yoursite.com. - Route web events to the server. Update your web GTM Google tag configuration to send data to the server container URL using the
server_container_urlsetting. - Add the Google Ads conversion tag in the server container. Configure it with the same Conversion ID and label, reading the event data the server receives.
- Verify the server request. Use the server container preview to confirm the incoming event and the outgoing Google Ads hit both appear.
https://yoursite.com/thank-you?gclid=Cj0KCQ...&utm_source=google&utm_medium=cpc
# Web GTM forwards the parsed event to:
# Server container then sends a clean conversion hit to Google Ads
Server-side tagging is more work to stand up and adds hosting cost, so do not start here. Get client-side tracking verified first, prove the numbers, then migrate. When you do migrate, keep both running in parallel for a week and reconcile the counts before you decommission the client-side tag. Teams that lean on automated bidding for the bulk of their paid advertising spend get the most out of this resilience, because every recovered conversion is a data point Smart Bidding would otherwise never see.
Steps 9 to 12: verifying that conversions actually fire
Installation is not completion. A tag that loads is not the same as a tag that fires on the right event with the right values. Verification is the step that separates a working setup from a silent failure, and it is where disciplined advertisers spend a disproportionate amount of effort. Every vendor guide in the source set, from Google to Stape to Analytics Mania, emphasizes verification in preview or test mode, because misfired triggers are among the most common implementation failures.
- Use GTM Preview mode. Click Preview in your container, enter your site URL, and complete the conversion action in the Tag Assistant window. Confirm the Conversion Linker fires on the first pageview and the Google Ads Conversion tag fires on your custom event, not before.
- Install the Tag Assistant extension. Google's Tag Assistant shows every tag that fired, the data it sent, and whether the Conversion ID and label match. A red or missing label is your culprit when conversions read zero.
- Place a real test conversion. Submit a test lead or, for ecommerce, place a test order. Shopify community guidance mirrors this: place a test order, then confirm the conversion shows up in Google Ads or a tag-debugging tool. Use a low-value coupon if you must place a paid test.
- Check the conversion action status. Return to Goals, Conversions, Summary. Within 24 to 48 hours the Tracking status chip should read Recording. If it still reads No recent conversions after a confirmed test, the tag is not firing or the label is wrong.
Build a simple verification log. Record the date you tested, the action you triggered, the tool you used, and the result. When a number looks wrong three months later, that log tells you whether the setup ever worked or quietly broke after a theme update. Free debugging tools like Tag Assistant and the GTM preview cover most needs; our own roundup of measurement and growth tools points to the rest. Treat verification as a recurring task, not a one-time event, because CMS updates, plugin changes, and consent banner edits all break tags without warning.
Conversion action settings reference
The settings you choose when creating a conversion action quietly control how your numbers look and how bidding behaves. Most under-reporting and over-reporting traces back to one of these fields being set without intent. Use this reference table to choose deliberately rather than accepting defaults. The two most consequential fields are Count and Include in Conversions, because they determine both your reported totals and what Smart Bidding optimizes toward.
| Setting | Recommended for leads | Recommended for sales |
|---|---|---|
| Category | Submit lead form / Contact | Purchase |
| Value | Use the same value (estimated lead worth) | Use different values for each conversion |
| Count | One | Every |
| Click-through window | 30 days | 30 to 90 days |
| View-through window | 1 day | 1 to 7 days |
| Attribution model | Data-driven | Data-driven |
| Include in Conversions | Yes for your primary lead | Yes for purchase |
| Enhanced conversions | On (for leads) | On (for web) |
| Transaction ID | Optional | Required to dedupe |
| Conversion source | Website or Import (CRM) | Website |
The Count field deserves the most attention. Set a lead form to Every and a single confused visitor who submits twice inflates your conversions and tricks Target CPA into bidding up on a worse audience. Set a purchase to One and a returning customer who buys monthly is undercounted, starving Target ROAS of revenue signal. Match the count method to the real-world event. Likewise, mark only the actions that represent genuine business value as primary, the ones included in the Conversions column. Everything else should be marked secondary so it reports for insight without polluting bidding. Google switched all eligible accounts to data-driven attribution as the default in recent years, which is the right choice for most advertisers with enough volume.
Five common pitfalls and how to fix them
The same handful of mistakes account for the large majority of broken Google Ads conversion tracking. Each one looks like a working install at a glance, which is what makes them dangerous. Here are the five that cause the most damage, with the specific fix for each.
- Mismatched Conversion ID or label. A single wrong character in the
send_tostring means the event fires but matches no action. Fix: copy the ID and label directly from the conversion action screen, never retype them, and confirm in Tag Assistant that the values sent match the values shown in Google Ads. - Missing Conversion Linker in GTM. Without it, GCLID is never stored, so conversions fire but attribution collapses and counts under-report. Fix: add a Conversion Linker tag on All Pages, then re-test.
- Event snippet on every page. Placing the event snippet in the global head instead of the conversion moment counts a conversion on every pageview, massively over-reporting. Fix: move the event snippet to the thank-you page only, or wrap it in an event handler.
- Custom Event name mismatch. Analytics Mania notes that a form trigger is usually a Custom Event that must match the dataLayer event name exactly, and a casing or spelling difference silently breaks it. Fix: copy the event name from the dataLayer push into the trigger character for character.
- Firing on submit instead of success. Counting on the submit click logs conversions for forms that error out or get blocked by validation. Fix: fire the event on the AJAX success callback or on the genuine thank-you page load.
A sixth pitfall worth naming: ignoring consent. In the EEA and UK, if Consent Mode v2 is not wired up, Google withholds or models conversions and your numbers will look depressed for reasons that have nothing to do with your tags. Confirm your consent banner sets the right signals before you conclude tracking is broken. Each of these failures is invisible until you specifically test for it, which is why the verification steps above are not optional.
Eight troubleshooting scenarios and fixes
When the numbers look wrong, work through these in order. They are arranged from most to least common, so the early items resolve the majority of cases. Keep your verification log open as you go so you can compare against the last known good state.
- Status stuck on No recent conversions. Confirm the tag fires in Tag Assistant, confirm the label matches, and remember reporting can lag up to 24 hours. If a confirmed test does not appear after 48 hours, the tag is not firing.
- Conversions doubled. Count is set to Every on a lead, or the event snippet loads twice. Set Count to One and check for a duplicate tag in both GTM and the page source.
- Zero conversions despite real submissions. The trigger event name does not match the dataLayer push, or the Conversion Linker is missing. Reconcile the names and add the linker.
- Conversions far below Analytics goals. Different attribution windows and models, not a bug. Compare like for like before assuming a tracking error.
- Value showing as 0. The value variable is empty or the dataLayer key is misspelled. Hard-code a value to confirm the path, then fix the variable.
- Conversions dropped after a site update. A theme or plugin update wiped the tag or the thank-you page URL changed. Re-inspect the page source and re-test.
- EEA conversions look suppressed. Consent Mode v2 is missing or denying by default. Verify the consent signals fire before the Google tag.
- Imported offline conversions not matching. GCLID was not captured on the landing page or expired beyond the window. Confirm GCLID capture into a hidden form field and upload within the click-through window.
For deeper diagnostics, the GTM server-side preview and the Google Ads Conversion diagnostics panel (inside each conversion action) show recent firing data and flag issues like inactive tags or missing enhanced conversion data. The official Google Ads conversion troubleshooting documentation is the canonical reference when a scenario here does not match yours. If you have exhausted these and counts are still wrong, the problem is almost always consent, count method, or a label mismatch, in that order of likelihood.
Advanced tips for 2026 measurement
Once the basics are verified, these refinements separate an account that merely tracks from one that measures with intent. None of them are necessary to start, but each one tightens the loop between spend and outcome.
- Import offline conversions for long cycles. B2B deals close weeks after the click. Capture GCLID into a hidden field, store it with the lead in your CRM, and upload the closed-won event back to Google Ads via offline conversion import so bidding optimizes toward revenue, not raw leads.
- Assign realistic lead values. Do not leave every lead at a value of 1. Estimate value by lead source or form, for example a demo request worth more than a newsletter sign-up, so value-based bidding can prioritize the leads that close.
- Use conversion value rules. Adjust value by location, device, or audience directly in Google Ads without re-tagging, useful when certain segments are worth more to your business.
- Separate primary and secondary actions deliberately. Keep only true revenue events as primary. Use secondary actions for micro-conversions you want to observe but not bid on.
- Migrate to server-side once stable. After client-side is proven, route through a server container to recover signal lost to ITP and blockers.
- Audit quarterly. Schedule a recurring check of tag firing, label accuracy, and consent behavior, because tracking decays silently with every site change.
One pattern worth adopting from regulated and high-volume advertisers: reconcile Google Ads conversions against a source of truth like your CRM or order database every month. Search Engine Land's ongoing Google Ads coverage regularly documents how reported conversions and back-office reality diverge when no one reconciles them. A 5 to 15 percent gap is normal due to modeling and attribution windows; a 40 percent gap means something is broken. The reconciliation habit catches both the broken tag and the slowly drifting setup before they distort months of bidding. If you are doing this across multiple properties or clients, systematize it rather than relying on memory.
Complete working project: end-to-end lead-gen tracking
Here is a full, realistic implementation you can replicate. The scenario: a B2B SaaS company drives traffic to a demo request form and wants accurate conversion data feeding Target CPA, with offline import so closed deals reattribute to the original click. This ties together every step above into one coherent build.
Step one, conversion action. In Goals, Conversions, create a Website action. Category Submit lead form, name "Demo request", value 200 USD (estimated worth of a demo lead), count One, click-through window 30 days, data-driven attribution, marked primary, enhanced conversions for leads turned on.
Step two, container and linker. In the Web GTM container, add a Conversion Linker on All Pages. Confirm it fires in Preview.
Step three, the dataLayer push. On the demo form's AJAX success callback, push the event with the user's email for enhanced conversions and a value.
<script>
window.dataLayer = window.dataLayer || [];
function onDemoSuccess(formData){
window.dataLayer.push({
'event': 'demo_request',
'value': 200.0,
'currency': 'USD',
'enhanced_conversion_data': {
'email': formData.email
}
});
}
</script>
Step four, the conversion tag. Create a Google Ads Conversion Tracking tag with the Demo request ID and label, mapped value and currency variables, and enhanced conversions enabled reading the email field. Trigger on Custom Event equal to demo_request.
Tag: Google Ads Conversion Tracking
Conversion ID: 123456789
Conversion Label: AbC-D_efGhIjKlMnOp
Value: {{DLV - value}}
Currency: {{DLV - currency}}
Enhanced conversions: On, email = {{DLV - enhanced_conversion_data.email}}
Trigger: Custom Event == demo_request
Step five, GCLID capture for offline import. Add a hidden field to the form that reads GCLID from the cookie the Conversion Linker set, and store it in your CRM alongside the lead.
<input type="hidden" name="gclid" id="gclid_field">
<script>
function getCookie(n){
var m = document.cookie.match('(^|;)\\s*' + n + '\\s*=\\s*([^;]+)');
return m ? m.pop() : '';
}
document.getElementById('gclid_field').value = getCookie('_gcl_aw');
</script>
Step six, verify and reconcile. Run Preview, submit a test demo request, confirm the linker and conversion tag fire, confirm the status moves to Recording within 48 hours, and one month later import closed-won deals with their stored GCLID so revenue reattributes to the keyword that earned it. This is a complete, production-grade setup: client-side measurement, enhanced conversions, and an offline loop that closes the gap between a click and a signed contract.
What to do Monday morning
Start with the smallest verifiable version. Before lunch, log into Google Ads, open Goals, Conversions, and check whether any conversion action shows a Recording status. If nothing is recording, you are bidding blind today and that is the first thing to fix. Create one conversion action for your single most important event, your primary lead or sale, and nothing else yet. Install the Google tag through GTM, add the Conversion Linker, wire the one trigger, and verify it with a real test submission this afternoon. One working, verified conversion beats ten half-installed ones.
This week, layer in the rest: enhanced conversions on your primary action, correct count methods, and a verification log you will actually maintain. Next month, add offline import if your sales cycle outlasts a cookie, and schedule the quarterly audit so the setup does not decay. If your team would rather have measurement, bidding, and landing pages built and reconciled as one system instead of a stack of disconnected tags, that is exactly the kind of work we run end to end. The discipline is not glamorous, but accurate conversion data is the single highest-leverage input to every dollar you spend in Google Ads, and it compounds every week you leave it running correctly.
Frequently Asked Questions
How long does it take for Google Ads conversion tracking to show data?
After you install the tag and complete a real conversion, the action status usually changes from Inactive to Recording within a few hours, but reporting in the Conversions column can take up to 24 hours to populate. If a confirmed test conversion does not appear after 48 hours, the tag is not firing or the Conversion ID and label do not match.
Do I need Google Tag Manager to set up conversion tracking?
No. You can hard-code the Google tag and event snippet directly into your page HTML, which is fine for a small single-conversion site. Google Tag Manager is recommended once you run multiple tags or need triggers managed without developer involvement. GTM also makes the Conversion Linker, enhanced conversions, and server-side migration far easier to manage over time.
What is the difference between the Google tag and the event snippet?
The Google tag (gtag.js) installs once on every page and handles the GCLID cookie and general measurement. The event snippet is placed only on the conversion moment, such as a thank-you page or a form success callback, and tells Google the exact instant a conversion happened. The event snippet carries the send_to value that links to your specific conversion action.
Why are my Google Ads conversions different from Google Analytics?
The two systems use different attribution models and conversion windows, so some divergence is normal rather than a bug. Google Ads attributes to the ad click within its click-through window, while Analytics may use a different model and session definition. A 5 to 15 percent gap is expected. A gap above roughly 40 percent usually signals a missing Conversion Linker, a label mismatch, or a consent issue.
What are enhanced conversions and should I turn them on?
Enhanced conversions capture first-party data such as a hashed email at the moment of conversion and match it to Google's signed-in users, recovering conversions that cookies alone would miss. There are web and leads variants. For most B2B and lead-gen advertisers the answer is yes, turn them on, because they improve measurement and feed Smart Bidding a fuller dataset, provided you collect the data with proper consent.
By