Skip to content
Conversion analytics across multiple platforms

Setting Up Conversion Tracking Across Google Ads and GA4

· by Digitelia · 4 min read

Setting up conversion tracking in either Google Ads or GA4 is straightforward. Setting up coordinated, deduplicated, cross-platform tracking that produces consistent numbers — that’s where most teams get stuck. The result: Google Ads says 80 conversions; GA4 says 65; the CRM says 47. Nobody knows which to trust, so leadership picks whichever number supports the current story.

This guide walks through the architecture that produces consistent numbers across both platforms, and the steps to set it up cleanly from scratch.

Analytics dashboard showing multiple data sources

The fundamental choice: who’s the source of truth?

The single most important decision: which platform is your source of truth?

Option A: Google Ads native conversion tracking. Pixel fires directly from your site to Google Ads. GA4 is secondary, reports its own numbers based on its own tracking.

Option B: GA4 as the source. Conversions tracked in GA4. Imported into Google Ads for bidding. Single tracking implementation, one set of definitions.

For 95% of accounts in 2026, Option B (GA4 source) is correct. Reasons:

  • Single conversion tracking setup to maintain
  • Consistent definitions between platforms
  • GA4’s attribution models apply uniformly
  • Easier to deduplicate and reconcile
  • Cleaner for adding other channels (Meta, LinkedIn) that can also import GA4 conversions

This guide assumes Option B unless explicitly noted.

Step 1: Set up GA4 conversion events

In GA4, every important user action should be tracked as an event. Some events are tracked automatically via Enhanced Measurement (page_view, scroll, outbound clicks). Custom events you need to configure manually.

The events to track for most businesses:

For B2B / lead gen:

  • generate_lead: form submission for contact, demo, free trial
  • signup: account creation
  • subscribe: newsletter signup (secondary)
  • download_resource: gated content (secondary)

For e-commerce:

  • purchase: with full ecommerce parameters
  • add_to_cart
  • begin_checkout
  • view_item
  • view_item_list

For services / local business:

  • generate_lead: contact form
  • phone_call: click-to-call from mobile
  • book_appointment: calendar booking
  • request_quote

Each event should have:

  • Consistent naming (snake_case, no spaces)
  • A value parameter where relevant ($24.99 for purchase, $50 for lead)
  • A currency parameter
  • Other parameters for richer reporting (form_name, item_category, etc.)

Step 2: Implement events via GTM

Google Tag Manager is the cleanest path. For each conversion event:

  1. In GTM, create a trigger for the action (form submission, page view, button click).
  2. Create a GA4 Event tag with the event name and parameters.
  3. Test in GTM Preview mode.
  4. Publish.

Example: lead form submission tag:

// GTM Tag: GA4 Event - generate_lead
// Event name: generate_lead
// Parameters:
//   currency: USD
//   value: 50.00
//   form_name: contact-page-form

// Trigger: Form Submission - Contact Form ID

In your site’s HTML or via your form provider, ensure the form fires a recognizable submit event GTM can hook into.

Step 3: Mark conversions in GA4

Once events fire, mark the important ones as conversions:

GA4 → Admin → Events → toggle “Mark as conversion” on:

  • generate_lead
  • signup
  • purchase
  • Other primary business events

Conversions then become available for:

  • Attribution reports
  • Audience definition
  • Export to Google Ads (and other ad platforms)

GA4 dashboard configuration

In GA4 → Admin → Google Ads links → Link → select your Google Ads account.

Enable:

  • “Enable Personalized Advertising” (lets you use GA4 audiences in Google Ads)
  • “Auto-tagging” — critical for proper Google Ads → GA4 attribution

In Google Ads, the link should now show as connected in Tools → Linked accounts.

Step 5: Import GA4 conversions to Google Ads

In Google Ads → Tools → Conversions → New conversion action → Import → Google Analytics 4 → select the GA4 conversions you want to use for bidding.

Important: mark each imported conversion as Primary if Smart Bidding should optimize for it. Secondary conversions are still measured but not optimized against.

Recommended primary conversions:

  • purchase for e-commerce
  • generate_lead for B2B
  • signup for self-serve SaaS

Recommended secondary:

  • add_to_cart
  • download_resource
  • view_item

Step 6: Set up Enhanced Conversions

Enhanced Conversions improves match quality with hashed first-party data.

In Google Ads → Tools → Conversions → click each imported conversion → Enhanced Conversions → Turn On.

In GA4 → Admin → Data Streams → Web Data Stream → click “Enhanced measurement” → Configure → Enable user-provided data.

In your conversion event implementation, pass user-provided data:

gtag('event', 'generate_lead', {
  'currency': 'USD',
  'value': 50.00,
  'user_data': {
    'email_address': userEmail,
    'phone_number': userPhone
  }
});

GTM handles hashing automatically. Validate match quality in Google Ads: should reach 7+/10 within 14 days.

Step 7: For B2B — set up offline conversion upload

If your conversion ≠ revenue (i.e., a “lead” isn’t a customer yet), Smart Bidding needs to know which leads actually closed.

1. Capture GCLID at lead capture. Parse ?gclid=... from URL on landing page, store in hidden form field, pass to CRM.

2. Connect CRM → Google Ads. HubSpot, Salesforce, Zoho, ActiveCampaign all have native or Zapier integrations.

3. Set up offline conversion event. Google Ads → Tools → Conversions → New → Import → Offline conversion.

4. Map CRM stages to upload. When a deal moves to “Closed Won” in your CRM, the integration uploads with original GCLID and the actual deal value.

The result: Smart Bidding optimizes for closed deals, not raw leads. Single biggest performance improvement for B2B accounts in 2026.

Step 8: Reconciliation — why platforms disagree

Even with perfect setup, Google Ads and GA4 will report different numbers. Reasons:

1. Attribution windows. Google Ads default is 30-day click. GA4 default is 90-day. Same conversion attributed differently.

2. Attribution models. Google Ads default is last-click; GA4 default is data-driven. Same conversion, different credit distribution.

3. View-through attribution. Google Ads counts view-through; GA4 generally doesn’t.

4. Cross-device tracking. Google Ads uses signed-in Google account data; GA4 uses Measurement IDs across devices when available. Coverage differs.

5. Filter differences. GA4 has filters (internal IP, developer traffic). Google Ads doesn’t.

6. Timing. Conversions appear in Google Ads with shorter lag than in GA4 (GA4 takes 24-48 hours for full processing).

Expect 10-20% variance between platforms for the same conversion event. Larger gaps indicate a configuration issue.

Step 9: Validate end-to-end

A thorough validation pass:

1. Tag Assistant Companion. Visit your site, complete a conversion. Verify GA4 event fires; verify Google Ads conversion fires (if running native tracking).

2. GA4 DebugView. Real-time view of events from your session. Should match what you expect.

3. GA4 Realtime. Visit your site, complete a conversion, watch it appear in Realtime within 30 seconds.

4. Google Ads conversion column. Wait 4-6 hours after a real conversion. Should appear in Google Ads conversions.

5. Cross-check counts. After 7-14 days of data, compare:

  • GA4 conversions for the period
  • Google Ads imported conversions for the period
  • CRM count (for B2B)

Variance should be within 10-20% of each other (excluding the offline / online split for B2B).

Common conversion tracking architecture mistakes

1. Running both Google Ads native + GA4 import. Doubles count, confuses bidding. Pick one source.

2. Inconsistent event naming. lead_form_submit on one page, generate_lead on another. Smart Bidding treats them as separate events.

3. No Enhanced Conversions. Losing 7-15% of conversion data unnecessarily.

4. No offline conversion upload (B2B). Optimizing for the wrong outcome.

5. Conversion fires on the wrong trigger. Page-view trigger when it should be form-submit. Counts wrong number of conversions.

6. PII in event parameters. Sending unhashed emails directly. Violates GA4 policy.

7. Not testing in DebugView. Pushing changes to production untested.

A 30-day setup or audit plan

Days 1-3: Audit current state. List every conversion across Google Ads, GA4, ad platforms. Identify duplicates and gaps.

Days 4-10: Standardize event names and definitions. Update GTM tags to fire consistent events. Mark conversions in GA4.

Days 11-17: Link Google Ads to GA4. Import primary conversions for Smart Bidding. Enable Enhanced Conversions.

Days 18-22: For B2B: implement offline conversion upload from CRM. Capture GCLID at lead capture.

Days 23-27: Validation. Make test conversions. Cross-check counts. Reconcile against CRM.

Days 28-30: Documentation. Write internal one-pager: every conversion, what fires it, what value, who owns it.

Frequently asked questions

Should I disable Google Ads native conversion tracking entirely after importing from GA4? Yes. Running both duplicates and confuses. GA4 import becomes the only source.

What if GA4 and Google Ads numbers differ by 30%+? Investigate: attribution windows mismatched? Cross-device coverage gaps? Conversion-event naming inconsistent? Don’t ignore — large gaps indicate real config issues.

Can I have different attribution models for different campaigns? Within GA4, no — model applies account-wide. You can compare different models in the Model Comparison report. Smart Bidding uses the active GA4 model when conversions are imported.

Will my Smart Bidding restart learning when I switch sources? Yes — conversion source change triggers a 7-21 day re-learning. Plan for a temporary performance dip; long-term improvement is worth it.

Do I need both GA4 and Google Ads conversion tracking, or just GA4? Just GA4, with imports to Google Ads for bidding. Single setup, single source of truth.


Coordinated conversion tracking is the difference between Smart Bidding flying blind and Smart Bidding optimizing accurately. The setup is more configuration than complexity — usually 1-2 weeks of focused work for a clean architecture that pays back for years.

Tagged

#conversion-tracking#google-ads#ga4#tutorial#enhanced-conversions#all-audiences