Setting up conversion tracking in GA4 comes down to four things: decide which actions count as results, send them to GA4 as events (ideally through Google Tag Manager), test that they fire correctly, and mark them as key events. If you also run Google Ads, you then import or link those key events so your campaigns can optimise towards them. Here is how I do it, step by step.
Step 1: Decide what to track
Start with the actions that are actually worth money to your business. Keep the list short:
| Business type | Main key event | Useful secondary events |
|---|---|---|
| Service company | Contact form submitted | Click on phone number, click on email |
| Webshop | Purchase (with value) | Add to cart, begin checkout |
| Booking business | Booking completed | Booking started |
| B2B | Quote request or demo booking | Download of brochure or price list |
Mark only the most important one or two as key events. Secondary actions can stay as normal events for analysis.
Step 2: Use Google's recommended event names
GA4 has recommended event names for common actions. Using them makes reports clearer and some features work better:
-
generate_leadfor form submissions and inquiries -
purchasefor completed orders (with value, currency and transaction ID) -
add_to_cart,begin_checkoutfor webshop steps
For things without a recommended name, like a phone click, choose a clear lowercase name with underscores, such as click_phone.
Step 3: Check what is already tracked
Before building anything, check what exists. Shopify and many WordPress plugins send ecommerce events automatically, including purchase. GA4's enhanced measurement also tracks some things by default, such as scrolls, outbound clicks and in some cases form interactions. Building a second purchase tag on top of an existing one is a common cause of double-counted revenue.
Step 4: Set up the event in Google Tag Manager
Google Tag Manager (GTM) lets you manage tags without editing your site code each time. The basic pattern is always a tag (what to send) and a trigger (when to send it).
Choosing a trigger for a form
Forms are the trickiest part, because they're built in many different ways. In order of preference:
- A dataLayer event pushed by the form or a developer when the form is successfully sent. Most reliable.
- A thank-you page that only appears after submission. Simple: trigger on page views of that URL.
- A form submission trigger in GTM. Works for some forms, but can fire even when validation fails.
- Element visibility on the "Thanks, we'll be in touch" message. A useful fallback.
Creating the tag
- Make sure you have a Google tag set up with your GA4 measurement ID.
- Create a new GA4 event tag, enter the event name (e.g.
generate_lead) and your measurement ID. - Optionally add parameters such as form name or value.
- Attach the trigger from above.
For a phone click, use a click trigger for links whose URL starts with tel:.
Step 5: Test thoroughly
- Open GTM's Preview mode and go through the action on your site. Check that your tag fires once, at the right moment, and not on failed submissions.
- In GA4, open DebugView and confirm the event arrives with the correct name and parameters.
- Publish the GTM container with a clear version name.
- Check the Realtime report after publishing.
Step 6: Mark it as a key event
Once the event has been received, find it in GA4's admin settings for events or key events and mark it as a key event. New events can take a while, often up to a day, before they appear everywhere in the standard reports, so don't panic if they're not visible immediately.
Step 7: Connect to Google Ads (if you advertise)
Link GA4 and Google Ads, then import the key event as a conversion in Google Ads, or use the Google Ads conversion tag through GTM. Choose which conversions are "primary" so bidding optimises towards the right action. Avoid having the same action counted as primary from two sources.
Don't forget consent
In Sweden and the EU, analytics and ad tracking generally depend on the visitor's cookie consent. Google's Consent Mode lets your tags adjust their behaviour based on consent choices. How you set this up has legal implications, so check with a legal advisor for your case. On the practical side: expect GA4 to show fewer conversions than your real number, because not everyone consents.
A quick sanity check
Illustrative example: you received 35 form submissions last month by email. GA4 shows 28 generate_lead events. A gap like that can be explained by consent and ad blockers. If GA4 showed 70, it's likely firing twice. If it showed 3, the trigger is probably broken.
Key takeaways
- Track the actions that matter, and mark only the most important as key events.
- Use recommended event names like
generate_leadandpurchase. - Check for existing tracking before adding more.
- Use GTM, choose a reliable trigger, and test with Preview and DebugView.
- Compare with your real numbers regularly.
Tracking setup is a big part of my web analytics work. Tag your campaign links with the UTM builder so the conversions are credited to the right channel.
Want your conversion tracking set up right? Request a free review of your current setup.