Back to the Blog
Essay

How to Set Up Conversion Tracking in Google Analytics

A step-by-step guide to conversion tracking in Google Analytics 4 — mark key events, link Google Ads, and verify the data before you trust it.

By Sean Gowing
Aug 17, 202310 min read

Here's the short version: to set up conversion tracking in Google Analytics, you create or send the event you care about (a form submit, a purchase, a call click), mark that event as a key event in GA4 Admin, and then — if you're running ads — link GA4 to Google Ads and import it as a conversion so the platform can bid on it. That's the whole job. Everything else is making sure the number you see is one you can actually believe.

That last part is where most setups quietly fall apart.

I've spent a chunk of my career sitting on top of pipelines that spent hundreds of millions of dollars, and the failure mode almost never changes. The dashboard says "412 conversions" in cheerful green. Nobody in the room can tell you whether those were real leads, duplicate fires, or the same person reloading a thank-you page eleven times. A fast number you don't trust is worse than no number — it makes confident, expensive decisions on top of garbage. So we're going to set this up and prove it.

One housekeeping note before we start: "Goals" are gone. If you're following an old tutorial that tells you to open the View column and click + New Goal, close it. That was Universal Analytics, which Google shut off. Conversion tracking now lives in events and key events in Google Analytics 4. We've run more UA-to-GA4 migrations than I care to count, and the dead-Goals tutorial is still the number-one reason people's tracking silently shows zero.

Table of contents

What conversion tracking actually does {#what-it-does}

Conversion tracking measures the specific actions you actually care about — a form submission, a newsletter sign-up, a purchase, a demo booking, a phone-call click — instead of vanity metrics like raw pageviews. In GA4 those actions are events. The ones that represent business value get flagged as key events (Google's current name for what used to be called conversions), and those are what show up in your conversion reports and what you feed to your ad platforms.

The point isn't to count clicks. The point is to draw a line from a marketing action to a real outcome — from click to closed-won. Get that line right and every downstream decision gets sharper. Get it wrong and you're optimizing for noise with a very nice-looking chart.

Step 1: Confirm GA4 is installed and collecting {#step-1}

You can't track conversions on a property that isn't collecting data, so start here.

  1. Sign in at analytics.google.com and create a GA4 property if you don't have one (Admin → Create → Property).
  2. Set up a Web data stream for your site and grab the Measurement ID (it looks like G-XXXXXXXXXX).
  3. Install the GA4 tag. The cleanest way is through Google Tag Manager — we walk through that exact setup in our Google Tag Manager + Webflow guide. You can also paste the gtag.js snippet directly into your site's <head>.
  4. Open Reports → Realtime, visit your own site in another tab, and confirm you see yourself show up. If you don't, nothing below will work — fix the install first.

Step 2: Get the event you want to track {#step-2}

GA4 fires a pile of events automatically (page_view, scroll, click, form_submit when Enhanced Measurement is on). Before you build anything custom, check whether the action you care about is already being captured.

  • Turn on Enhanced Measurement on your data stream (Admin → Data streams → your stream → Enhanced measurement). That alone gives you outbound clicks, file downloads, site search, and basic form interactions for free.
  • If your conversion is a standard one — a purchase, a sign-up — use Google's recommended event names (like purchase or sign_up) rather than inventing your own. Recommended names unlock extra reporting and stop you from fragmenting your own data.
  • If it's a custom action GA4 can't see (a specific button, a multi-step form's final submit), you'll send a custom event yourself. That's the job for Tag Manager in Step 4.

A word on naming, because this is where attribution chains snap: mapping is everything. One wrong value — a typo'd event name, a parameter sent as signup in one place and sign_up in another — and your "conversions" scatter into separate buckets that never add up. Pick a naming convention and enforce it everywhere. Consistency beats cleverness, every time.

Step 3: Mark the event as a key event (conversion) {#step-3}

This is the step the old Goals tutorials can't help you with. An event is just data until you tell GA4 it matters.

  1. Go to Admin → Events (under the property column).
  2. Find the event in the list — it has to have fired at least once to appear, so trigger it yourself first if you need to.
  3. Toggle Mark as key event on.

Alternatively, go to Admin → Key events → New key event and type the exact event name. GA4 starts counting it as a conversion from that point forward — it does not backfill historical data, so set this up before a campaign launches, not after.

Step 4: Track conversions with Google Tag Manager {#step-4}

For anything beyond the automatic events, Google Tag Manager is where you get real control. It lets you fire a precise GA4 event on a precise condition without touching your site's code every time.

The pattern is always the same three pieces:

  1. Tag — a GA4 Event tag pointing at your Measurement ID, with the event name you chose in Step 2 (e.g. generate_lead).
  2. Trigger — the condition that fires it. For a button it's a Click trigger filtered to that element; for a form it's a Form Submission trigger or a custom-event trigger you push to the dataLayer.
  3. Variables — any parameters you want to send along (value, currency, form name) so the event carries context, not just a count.

If your form lives in an iframe — a JotForm embed, a third-party booking widget — the normal triggers won't see the submit, and people lose hours to this. We wrote up the exact fix in our guide on getting conversion events out of JotForm iframe forms. Publish your GTM container after you build the tag, or it stays in preview-only limbo.

One opinion I'll defend on a call: don't tag your own internal links with UTMs while you're wiring this up. Internal UTMs overwrite the real campaign source and quietly poison your attribution. Only inbound links get tagged — and if you need to build those consistently, our UTM builder keeps the format clean so your mediums don't vanish into the (Other) bucket.

Step 5: Link GA4 to Google Ads (if you run ads) {#step-5}

If you're tracking conversions to optimize ad spend — and most people are — the key event sitting in GA4 isn't enough. Google Ads has to know about it to bid on it.

  1. In Admin → Product links → Google Ads links, link your Google Ads account to the GA4 property.
  2. In Google Ads, go to Goals → Conversions → Summary → New conversion action → Import → Google Analytics 4.
  3. Select the GA4 key event you created and import it.

Now Google Ads can optimize toward that real action instead of guessing from clicks. Skip this link and you'll have beautiful GA4 reports while your ad platform spends blind — the digital equivalent of steering with your eyes closed and trusting the vibes.

Step 6: E-commerce conversion tracking {#step-6}

For online stores, conversion tracking means purchase value and revenue, not just "a sale happened." GA4 handles this through its e-commerce events.

  1. Enable e-commerce by sending GA4's e-commerce events — the big one is purchase, fired on your order-confirmation page.
  2. Send an items array and a value with the event so GA4 can attribute revenue, not just count transactions. The purchase event should include transaction_id, value, currency, and the items purchased.
  3. Push that data to the dataLayer and fire it through a GTM GA4 Event tag, the same pattern as Step 4.

Once the purchase event is flowing with values attached, GA4 reports revenue, average order value, and which channels actually drive sales — the numbers that tell you where to put the next dollar. Get the transaction_id right, by the way: it's how GA4 deduplicates, and a missing one is the classic reason revenue reads double.

Step 7: Test and verify before you trust it {#step-7}

This is the step everyone skips and everyone regrets. A conversion setup you haven't verified is a guess in a nicer font.

  • GA4 DebugView (Admin → DebugView) shows events in real time while you trigger them. Use GTM's Preview mode or the GA Debugger extension to stream your own session in. Submit the form, watch the event land, confirm the parameters are correct.
  • GTM Preview mode confirms your tag actually fires on the trigger you built — and, just as important, that it doesn't fire on the wrong pages.
  • Realtime report confirms the key event is counting.
  • Then wait. Standard GA4 conversion reports can take up to 24–48 hours to fully process, so don't panic if DebugView shows the event but the summary report lags behind.

Verify with a real submission, not a hopeful refresh of the dashboard. We learned this the hard way fixing a large e-commerce brand's GA4 migration — combing through broken event calls until the data improved by an order of magnitude. The data was always there. It just wasn't being captured correctly, and nobody had checked.

Troubleshooting common issues {#troubleshooting}

Conversions showing zero? Nine times out of ten the event never fired or the name doesn't match. Open DebugView, trigger the action, and confirm the exact event name matches what you marked as a key event. Capitalization and underscores count.

Numbers don't match between GA4 and your ad platform or CRM? That's usually expected, not broken. Different tools attribute on different windows and dedupe differently. The fix isn't forcing them to agree to the decimal — it's understanding why they differ and picking one source of truth for each decision.

Conversions inflated? Check for a tag firing on every pageview instead of only the confirmation page, a missing transaction_id on purchases, or the same key event imported into Google Ads twice. Duplicate fires are the usual culprit.

Old Goals showing nothing? Because Goals don't exist anymore. If you inherited a UA-era setup, you need a real migration, not a patch — here's our operator's guide to moving from UA to GA4.

FAQ {#faq}

What's the difference between an event and a key event in GA4? Every tracked action in GA4 is an event. A key event is an event you've flagged as a business outcome — the thing GA4 counts as a conversion and reports on. Marking a key event doesn't backfill history; it only counts from the moment you turn it on.

Why doesn't Google Analytics have "Goals" anymore? Goals belonged to Universal Analytics, which Google shut down. GA4 replaced the entire Goals model with events and key events. Any tutorial telling you to open the "View" column and click "+ New Goal" is describing a tool that no longer exists.

Do I need Google Tag Manager for conversion tracking? No, but it's worth it the moment you outgrow GA4's automatic events. GTM lets you fire precise custom events — a specific button, an iframe form, a multi-step flow — and change tracking without redeploying your site every time.

How long until conversions show up in GA4? Real-time tools like DebugView and the Realtime report show events within seconds. The standard conversion reports can lag 24–48 hours while GA4 processes data, so verify in DebugView first and judge the summary reports later.

Why don't my GA4 conversions match Google Ads? Different attribution models, conversion windows, and deduplication rules. Some mismatch is normal and healthy. A large, unexplained gap usually points to a missing GA4-to-Google-Ads link or a key event that wasn't imported as a conversion action.

Can I track form submissions and phone calls as conversions? Yes. Form submissions are often captured automatically with Enhanced Measurement, or precisely via a GTM event; phone-call clicks are tracked as a click event on the tel: link. Mark whichever ones matter as key events and you're tracking them as conversions.

The setup is easy. Trusting the number is the work.

Marking a key event takes thirty seconds. Building a conversion pipeline you'd actually bet a budget on — clean event names, the right GTM triggers, GA4 linked to Ads, every action verified in DebugView before it goes live — that's the part that separates a dashboard from a decision tool. One wrong value anywhere in that chain and the whole thing lies to you confidently.

If you'd rather have that wiring done right the first time — the events mapped, the conversions verified, the data synced closed-loop so your spend stops chasing people who already bought — that's exactly the work we do on our tracking and analytics service.

Want this for your team?

Send us a brief and we'll come back with a fixed-price plan in 48 hours.