A step-by-step guide to connecting GA4, Google Tag Manager, and Google Ads into one analytics system that shows which campaigns, keywords, and pages drive revenue.
You have a website, Google Ads, and maybe GA4. But do you know how many of your ad clicks become real customers? Which channel brings in the most money? Which page converts best?
If the answer is โnoโ or โroughly,โ you are wasting budget blind.
End-to-end analytics means you can see the full customer journey, from ad click to purchase. And you know exactly which campaign, keyword, and ad brought in every hryvnia. According to HubSpot State of Marketing 2025, 40% of marketers say proving ROI is their biggest challenge.
In this article I will show you how to build that system in one day. No unnecessary code, no โwe will figure it out later.โ Just a concrete plan: what you need to do as a marketer and what to hand off to a developer.
Why connect GA4, GTM, and Google Ads
Three separate tools mean three separate reports with different numbers. Connected together, they become one system where every click and every hryvnia has a place.
Without the connection
With the connection
One-day plan: 7 steps to end-to-end analytics
Install Google Tag Manager (30 min) ▼
GTM is the control panel for all tags on the site. Instead of inserting GA4, Google Ads, and Facebook Pixel code separately, you install one GTM container and add everything through the interface.
What to do:
- Create an account at tagmanager.google.com
- Create a container, type: Web
- You will get two code snippets: one for the head, one right after body
For the developer: place the GTM code as high as possible in the head. Remove old GA or Ads code if it was inserted manually – everything will now run through GTM.
Connect GA4 through GTM (20 min) ▼
Do not insert the GA4 code manually on the site. Connect it through GTM, which gives you more control and flexibility.
In GTM:
- Create a tag โ Google Analytics: GA4 Configuration
- Add the Measurement ID, which starts with G-XXXXXXX and can be found in GA4 โ Admin โ Data Streams
- Trigger: All Pages
- Save and publish the container
GA4 will automatically start tracking page views, scrolls, outbound clicks, site search, and file downloads through Enhanced Measurement.
Set up key events in GA4 (40 min) ▼
Enhanced Measurement tracks basic actions. But you need conversions, the actions that bring in money.
Minimum event set for a business:
- generate_lead – form submission
- phone_click – click on the phone number
- purchase – purchase for e-commerce
- scroll_to_cta – scroll to the CTA block, which shows intent
For the developer: set up dataLayer.push() for each of these events. Example for a form:
dataLayer.push({
'event': 'generate_lead',
'form_name': 'contact_form',
'page_url': window.location.href
});
In GA4: Admin โ Events โ mark these events as Key Events (conversions).
Link GA4 with Google Ads (10 min) ▼
This is the simplest, but the most important, step. Without the connection, Google Ads does not see what happens after the click.
In GA4: Admin โ Product Links โ Google Ads linking โ Link
In Google Ads: Tools โ Data Manager โ confirm the link with GA4
After linking:
- Google Ads will see GA4 conversions and can import them
- GA4 will show ad data: campaigns, keywords, spend
- Smart Bidding will optimize for real conversions
Import conversions from GA4 into Google Ads (15 min) ▼
Now Google Ads has to see your conversions to optimize bids.
In Google Ads: Goals โ Conversions โ New conversion action โ Import โ Google Analytics 4
Choose the key events: generate_lead, purchase, phone_click.
Important:
- Choose โPrimaryโ for the main conversion (lead or purchase) so bids are optimized for it
- Choose โSecondaryโ for additional events such as scroll or click. They will appear in reports, but will not affect Smart Bidding
Add Google Ads Conversion Tracking through GTM (20 min) ▼
In addition to the GA4 import, add the native Google Ads conversion tag. It gives Smart Bidding more accurate data.
In GTM:
- Create a tag โ Google Ads Conversion Tracking
- Add the Conversion ID and Conversion Label from Google Ads โ Goals โ Conversions
- Trigger: Custom Event โ generate_lead (or purchase)
- Add a Google Ads Conversion Linker tag with the All Pages trigger. This is mandatory.
For the developer: Conversion Linker automatically stores gclid and gbraid in cookies. Without it, Google Ads cannot attribute conversions correctly.
Check everything in DebugView and Tag Assistant (30 min) ▼
Do not trust โit probably works.โ Check every step.
Verification tools:
- GTM Preview Mode – shows which tags fired on each page
- GA4 DebugView (Admin โ DebugView) – shows events in real time
- Google Tag Assistant (tagassistant.google.com) – checks all Google tags
Verification checklist:
- Open the site in Preview Mode โ the GA4 tag in GTM should show โFiredโ
- Submit a form โ generate_lead appears in DebugView
- Click the phone number โ phone_click event
- In Google Ads โ Goals โ Conversions โ status โRecordingโ (may appear after 24 hours)
GA4 report template for a business owner
A PDF with examples of 5 key dashboards: traffic, conversions, channel ROI, on-site behavior, and the sales funnel. Print it and show it to the developer: โI want to see this.โ
Get it on Telegram →Which reports to check after setup
Analytics without reports is like a camera without a screen. Here are 5 reports every business owner should look at.
1. Traffic acquisition report
Where: GA4 โ Reports โ Acquisition โ Traffic acquisition
What it shows: where visitors come from (Google Ads, organic, direct, social) and how many conversions each channel brought.
2. Key events report
Where: GA4 โ Reports โ Engagement โ Events โ filter by Key Events
What it shows: how many leads, calls, and purchases happened in the period, plus the trend.
3. Conversion paths report
Where: GA4 โ Advertising โ Attribution โ Conversion paths
What it shows: which touchpoints led to the conversion. The client saw the ad, returned via organic, then converted from direct – you will see that chain.
4. Google Ads Conversions report
Where: Google Ads โ Goals โ Conversions
What it shows: how many conversions each campaign, ad group, and keyword brought in. CPA and ROAS.
5. Engagement report
Where: GA4 โ Reports โ Engagement โ Pages and screens
What it shows: which pages are most popular, where the highest bounce rate is, and average session duration.
5 mistakes that make analytics lie
1. GA4 installed manually and through GTM at the same time
Duplicate code means double-counted views and events. All data becomes inaccurate. Solution: remove the manual code and keep only GTM.
2. Conversion Linker is not installed
Without Conversion Linker, Google Ads cannot store gclid in cookies. Conversions are not attributed correctly and Smart Bidding degrades.
3. Every event is marked as a Primary conversion
If scroll, page_view, and form_submit are all Primary, Smart Bidding will optimize for scrolls instead of leads. Primary should be only the main conversion: lead or purchase.
4. โInterestโ geotargeting in Google Ads
As in the previous Google Ads article, the default โPresence or interestโ setting wastes budget on irrelevant users and distorts analytics.
5. Did not check in DebugView
โI set it up and forgot about itโ is the classic mistake. A month later it turns out the form was not tracked, conversions were not counted, and all decisions were based on incomplete data.
Not sure whether your analytics is set up correctly?
I do GA4 + GTM audits and show where the leaks are: which events are not tracked, which conversions are not imported, and where the duplication happens. Message on Telegram ยท My services
Frequently asked questions about GA4, GTM, and Google Ads
You can, but it is not recommended. GTM gives centralized tag management, versioning, and Preview Mode for testing. Without GTM, every change requires editing the site code and involving a developer.
The basic setup from this guide takes 3-4 hours. If you need e-commerce tracking, server-side GTM, or custom reports, it takes 1-2 days. For most small businesses, the basic setup is enough.
Minimum: 1) form submission (generate_lead), 2) phone click (phone_click), 3) click to Telegram or WhatsApp (messenger_click). Optional: scroll to CTA, views of the pricing page, PDF downloads.
Yes, a 5-15% difference is normal. GA4 and Google Ads use different attribution models and different conversion windows. Google Ads counts the conversion on the click day, GA4 on the conversion day. If the difference is above 20%, check Conversion Linker and import settings.
For most businesses, no. Server-side GTM is needed if ad blockers block a large share of traffic, 20%+, if you need stronger data security, or if traffic exceeds 50,000 visitors a month. For small business, client-side GTM is enough.
What to do right now
End-to-end analytics is not a luxury. It is a necessity. Without it, you make decisions blindly and spend budget on intuition instead of data.
Plan for today:
- Install GTM on the site, or check whether it is installed correctly
- Connect GA4 through GTM
- Set up 3-4 key events: form, phone, purchase
- Link GA4 with Google Ads
- Import conversions into Google Ads
- Check everything in DebugView
3-4 hours of work. The result is that you know exactly what every hryvnia brings in return.
Read also: How to set up Google Ads from scratch ยท GEO optimization for AI search ยท About me ยท Case studies
Comments
Discuss on Telegram