How to Set Up Proper Attribution in GA4 Without Losing Your Mind
Jack Amin
Digital Marketing & AI Specialist

Quick Answer
Getting attribution right in GA4 requires three things: choosing the correct attribution model for your business, setting up your conversion events properly, and ensuring your traffic is tagged consistently so GA4 knows where each session originated. This guide walks through all three layers (reporting attribution model, conversion-window settings, and session-level source attribution), providing specific settings and checks that matter most for measuring marketing performance accurately.
Why does GA4 attribution matter, and why is it so confusing?
Attribution is the logic GA4 uses to answer one question: when a customer converts, which marketing touchpoint gets the credit?
It sounds simple. It isn't.
A typical customer journey in 2026 might look like this: someone finds your business through a Google search, reads a blog post, leaves, sees a retargeting ad on Instagram three days later, clicks through, and then converts. That's three touchpoints — organic search, social media, and paid social — and only one conversion. Which channel gets credit?
The answer depends entirely on which attribution model you're using. Last-click gives all the credit to Instagram. First-click gives it all to Google organic. Data-driven attribution (GA4's default) distributes credit across all three based on their statistical contribution to conversion paths. Each model tells a completely different story about which channels are working.
For most small businesses, the confusion compounds because GA4 is not Universal Analytics. The interface is different. The data model is different. And the attribution settings are buried in places most people never look.
The result: marketing budgets get allocated based on attribution reports that are wrong by default, channels that are working get starved of budget, and channels that look good on paper (because they always win the last click) get over-invested.
Getting this right isn't a nice-to-have. It's a prerequisite for making sound marketing decisions.
Step 1: Understand the Three Places Attribution Lives in GA4
Before changing any settings, you need to know that attribution in GA4 operates across three distinct layers. Most guides skip this and it's the source of most confusion.
What are the three attribution layers in GA4?
Layer 1: Reporting attribution model — this controls how credit is distributed across channels in GA4's standard reports. You set this at the property level, and it applies retroactively. This is the main setting most people need to change.
Layer 2: Conversion-window settings — this controls how far back GA4 looks when attributing a conversion to a prior touchpoint. The default is 30 days for most events. If your sales cycle is longer (think B2B services, high-ticket products), this window may be cutting off real attribution.
Layer 3: Session-level source attribution — this is how GA4 assigns a source/medium to each individual session, using the utm_source and utm_medium parameters on incoming links. If this layer is broken — because your UTM tagging is inconsistent — nothing in layers 1 and 2 will save you.
Most attribution problems are actually layer 3 problems dressed up as layer 1 problems. Fix the tagging first. Then set the model.
Step 2: Audit Your Current Attribution Settings
Before touching anything, document where you're starting from.
How to find your current attribution model in GA4
- Open GA4 and click the gear icon (Admin) in the bottom left
- Under Property, click Attribution Settings
- Note the current Reporting attribution model — it's likely set to Data-driven attribution or, on older properties, Last click
- Note the Lookback windows — you'll see separate settings for acquisition events (first conversion) and all other conversion events
[Screenshot: GA4 Admin panel > Attribution Settings, showing the Reporting attribution model dropdown and lookback window fields]
While you're here, also note:
- Your reporting time zone — this should be set to Australian Eastern Time (or the correct state timezone for your business). Mismatched timezones cause date discrepancies between GA4 and Google Ads that will drive you mad.
- Your currency — should be AUD.
If either of those is wrong, fix them now, in the Property Settings section directly above Attribution Settings.
Step 3: Choose the Right Attribution Model for Your Business
This is the decision most people agonise over unnecessarily. Here's a framework for cutting through it.
Which GA4 attribution model should you use?
GA4 offers four reporting attribution models:
- Data-driven: Distributes credit based on ML analysis of your actual conversion paths. Best for businesses with 50+ conversions/month and diverse channel mix.
- Last click: 100% credit to the last non-direct click before conversion. Best for simple channel setups; easy to explain to stakeholders.
- First click: 100% credit to the first touchpoint in the conversion path. Best for businesses focused on brand awareness and top-of-funnel growth.
- Linear: Equal credit to every touchpoint in the path. Useful for understanding full path influence when paths are short.
For most Australian small businesses, the recommendation is:
- Data-driven attribution if you have meaningful conversion volume (50+ per month). This is the most accurate model and it improves as you feed it more data.
- Last click if your conversion volume is low (under 50/month) or you have a simple, direct sales process. Data-driven needs volume to work well; below the threshold it falls back to last click anyway.
- Avoid first click as your primary model — it overstates the value of brand awareness channels and understates what's actually closing conversions.
One important nuance: data-driven attribution requires a minimum conversion volume to activate. If GA4 shows "Data-driven attribution is not available" under your conversion events, you haven't hit the threshold yet. Switch to last click for now and revisit when volume grows.
How to change your attribution model
- Admin > Attribution Settings
- Click the Reporting attribution model dropdown
- Select your chosen model
- Click Save
The change applies retroactively across your reports — your historical data will update. This is useful, but be aware that your numbers will look different after you change it. If you share reports with clients or stakeholders, flag the change proactively.
[Screenshot: The attribution model dropdown in GA4 with the four model options visible]
Step 4: Set Your Lookback Windows Correctly
The lookback window determines how far back GA4 will look for a prior touchpoint when a conversion happens. The defaults are reasonable for e-commerce but wrong for many service businesses.
What lookback window should you use?
The GA4 defaults:
- Acquisition (first visit) conversion events: 30 days
- All other conversion events: 90 days
When to adjust:
- Shorter sales cycles (e-commerce, bookings, simple online purchases): the defaults are fine
- Longer consideration periods (B2B services, professional services, high-ticket products): extend the "all other events" window to 90 days if it isn't already, and consider whether 90 days genuinely captures your cycle. Some B2B journeys run 3–6 months.
- Very short funnels (food delivery, ticketing, impulse purchases): 7-day windows may be more accurate — you don't want to attribute a pizza order to a search someone did a month ago.
For a typical Australian service business — a law firm, accountant, agency, trades business — I'd set:
- Acquisition events: 30 days
- Other conversion events: 90 days
How to update lookback windows
- Admin > Attribution Settings
- Under Lookback windows, adjust the dropdowns for each event type
- Click Save
[Screenshot: Lookback window settings in GA4 Attribution Settings, with the two dropdown menus shown]
Step 5: Fix Your UTM Tagging — The Root Cause of Most Attribution Problems
This is the unsexy part that most attribution guides skip over, and it's responsible for more broken reporting than any model setting.
When GA4 doesn't know where a session came from — because there's no UTM tag, or the tag is inconsistent — it assigns that session to (direct) / (none). This is GA4's catch-all for "I have no idea." In most properties I audit, 20–40% of sessions are sitting in direct/none. Many of those aren't actually direct — they're emails, Slack messages, LinkedIn posts, PDFs, and social shares that were never tagged.
What is UTM tagging?
UTM parameters are tags you add to the end of a URL that tell GA4 where that click came from. A tagged URL looks like this:
https://codeble.com.au/contact?utm_source=linkedin&utm_medium=social&utm_campaign=fy27-brand&utm_content=cta-button
GA4 reads these parameters and records the session source accordingly. Without them, it guesses — and often guesses wrong.
The five UTM parameters and when to use them
utm_source: Required. Evaluates platform. e.ggoogle,linkedin.utm_medium: Required. The channel type. e.gcpc,social.utm_campaign: Required. Specific campaign e.gfy27-brand.utm_content: Optional. Ad or link variant.utm_term: Optional. Keyword (paid search).
Building a UTM naming convention
The most common UTM problem isn't missing tags — it's inconsistent tags. utm_medium=Email and utm_medium=email are two different values in GA4. utm_source=LinkedIn and utm_source=linkedin split your data. One capital letter breaks your channel grouping.
My recommended naming convention for Australian small businesses:
- All lowercase, always
- Hyphens instead of underscores in campaign names (
fy27-brandnotfy27_brand) - Consistent source names across channels — agree on them once and document them
Build a shared UTM spreadsheet. Every tagged URL your business ever creates should live in a shared Google Sheet with columns for: campaign name, source, medium, content, full URL, date created, and channel. This prevents the "I don't know what that tag means" problem six months later.
[Screenshot: Example UTM tracking spreadsheet with the above columns, showing 5–6 sample rows for different campaigns]
How to generate UTM-tagged URLs
Use Google's Campaign URL Builder: ga-dev-tools.google.com/campaign-url-builder
Paste your destination URL, fill in the parameters using your naming convention, copy the generated URL, and save it in your tracking spreadsheet. Never type UTM parameters by hand — typos cost you data.
Step 6: Set Up Channel Groupings That Match Your Business
GA4's default channel groupings — the categories like "Organic Search," "Paid Search," "Direct," "Referral" — are defined by Google's rules. Those rules are reasonable defaults but may not match how your business actually thinks about its channels.
What are GA4 channel groupings?
Channel groupings are the buckets GA4 sorts your traffic into based on utm_source and utm_medium values. They appear in the Traffic Acquisition report and in attribution reports. The default groupings cover most scenarios, but they have gaps.
Common misclassification problems:
- Email traffic tagged with utm_medium=email should land in "Email." If it lands in "Other" or "Unassigned," your utm_medium value doesn't match GA4's expected keyword list.
- LinkedIn organic traffic often ends up in "Unassigned" because utm_medium=social doesn't always map cleanly to GA4's "Organic Social" grouping. The fix: use utm_medium=social consistently and verify it maps correctly.
- SMS campaigns with utm_medium=sms will land in "Unassigned" by default — you may want a custom group for this.
How to create a custom channel group in GA4
- Admin > Channel Groups (under Data Display)
- Click Create new channel group
- Name the group (e.g. "Codeble Channels")
- Define each channel using the condition builder — you can match on utm_source, utm_medium, utm_campaign, or combinations
[Screenshot: GA4 Channel Groups interface showing a custom group being created with utm_medium conditions]
For most small businesses, I'd recommend creating a custom channel group that explicitly defines:
- EDM / email (utm_medium exactly matches
email) - Paid social (utm_medium exactly matches
cpcAND utm_source matchesfacebookorlinkedinorinstagram) - Organic social (utm_medium exactly matches
social) - SMS (utm_medium exactly matches
sms) - Everything else falls through to GA4's defaults
This takes 20 minutes to set up and eliminates the "Unassigned" mystery bucket that plagues most GA4 properties.
Step 7: Audit Your Conversion Events
Attribution is only as useful as the events it's attributing. If your conversion events are wrong, the most perfectly configured attribution model in the world will give you incorrect insights.
Are your GA4 conversion events set up correctly?
Open GA4 and go to Admin > Events. Review every event marked as a conversion (the toggle will be on).
Common conversion event problems I find in audits:
Tracking page views instead of form submissions. A /thank-you page view is a reasonable proxy for a conversion — but it fires for anyone who navigates to that URL, not just genuine form completers. If your thank-you page is linked from anywhere else on the site, you're inflating conversions. Use a form submission event (form_submit with the specific form ID) instead.
Not tracking phone calls. For trades businesses, professional services, and any business where the phone is a primary lead channel, phone call conversions are critical. Set up click-to-call tracking as a GA4 event, and import it as a conversion. Without this, your attribution reports will completely understate the value of channels that drive calls.
Tracking too many events as conversions. Newsletter signups, PDF downloads, and social share clicks can all be useful events to track — but marking them all as conversions muddies your attribution data. Be deliberate about what constitutes a genuine business outcome and mark only those as conversions.
Missing Google Ads conversion import. If you're running Google Ads, you should be importing your GA4 conversions into Google Ads (rather than using Google Ads' own conversion tracking). This ensures both platforms are measuring the same things. Go to Google Ads > Tools > Measurement > Conversions > New conversion action > Import from Google Analytics.
Step 8: Cross-Reference GA4 With Google Ads
If you're running Google Ads — and most businesses we work with are — the final step is ensuring GA4 and Google Ads are telling a consistent story.
Why do GA4 and Google Ads show different conversion numbers?
They almost always do, and the difference isn't always a problem — but you need to understand why.
The main reasons for discrepancies:
- Different attribution models. Google Ads defaults to data-driven attribution within the Ads platform. If GA4 is on a different model, the numbers will differ.
- Different conversion windows. Google Ads has its own conversion window settings (separate from GA4). Check that they're aligned.
- Duplicate conversion tracking. If you have both GA4-imported conversions and natively-set Google Ads conversion events tracking the same action, you'll see inflated numbers.
- View-through conversions. Google Ads counts conversions where someone saw an ad but didn't click it. GA4 doesn't track this. Disable view-through conversion counting in Google Ads if you want cleaner comparison.
The goal isn't identical numbers. The goal is understanding why the numbers differ and being confident that each platform is measuring what you think it's measuring.
[Screenshot: Side-by-side of GA4 Conversions report and Google Ads Conversions column for the same date range, with the two primary differences annotated]
Step 9: Build a Reporting Routine That Uses Attribution Correctly
Having correct attribution settings doesn't help if your reporting ignores them. Here's the minimum reporting routine I'd recommend.
Which GA4 reports actually use attribution data?
- Advertising > Attribution > Model Comparison — compares how different models would have credited your conversions. Run this quarterly to validate your model choice.
- Advertising > Attribution > Conversion paths — shows the actual sequence of touchpoints before each conversion. This is the most revealing report in GA4 for understanding real customer journeys.
- Acquisition > Traffic Acquisition — shows sessions by channel group, using your reporting attribution model
- Acquisition > User Acquisition — shows first-touch attribution only — useful for understanding where new users come from initially
The report I check first when auditing attribution: Conversion paths, filtered to your primary conversion event. If more than 25% of conversions are showing as single-touch "Direct," you likely have a UTM tagging problem — real customers rarely convert on their first direct visit with no prior touchpoint.
[Screenshot: GA4 Conversion Paths report showing a typical multi-touch path: Organic Search > Paid Search > Email > Conversion]
GA4 Attribution Quick-Fix Checklist
If you want to start immediately, here's the triage order:
- Check your reporting timezone and currency
- Audit your attribution model
- Set lookback windows
- Check your conversion events
- Export your traffic sources
- Audit your UTM consistency
- Create a UTM naming convention doc
- Build a custom channel group
- Cross-reference with Google Ads
- Check Conversion Paths monthly
What If My Attribution Data Is Still Wrong After All This?
Sometimes you do everything right and the numbers still don't feel right. A few scenarios and what to do:
"Organic search looks impossibly high." Check whether Google Ads auto-tagging (GCLID) is enabled. If it's not, paid clicks fall into organic, inflating organic numbers dramatically. In Google Ads: Settings > Account Settings > Auto-tagging > Yes.
"Direct is still 30%+ of my conversions." Check for URL shorteners (bit.ly, etc.) that strip UTM parameters. Check that your email platform isn't stripping tracking parameters. Check PDF links — PDFs never pass UTM parameters to the next click.
"My data just stopped making sense after a site migration." Migrations frequently break GA4 — either through lost tags, incorrect domain configuration for cross-domain tracking, or changed URL structures that break event firing rules. Run a full audit immediately post-migration.
"GA4 and my CRM are reporting wildly different lead numbers." The CRM is your source of truth for leads. GA4 is measuring intent signals (form submissions), not confirmed leads. Discrepancies between the two usually indicate form spam, failed form submissions that GA4 still fires for, or CRM data entry errors.
Want Someone to Audit Your GA4 Setup?
Most GA4 properties I look at have at least three of the issues covered in this guide. Attribution models are wrong, UTM tags are inconsistent, and conversion events are tracking things they shouldn't be — or missing things they should be.
If you'd rather have an expert pair of eyes on your setup than work through it yourself, Codeble offers a GA4 Analytics Audit for Australian businesses: a structured review of your attribution settings, event configuration, UTM tagging, and reporting accuracy, with a written recommendations report.
What's included:
- Attribution model and lookback window review
- Conversion event audit (what's tracked, what's missing, what shouldn't be)
- UTM consistency check across your top traffic sources
- Channel grouping review
- Google Ads conversion import verification
- Written report with prioritised fixes
Frequently Asked Questions
Let's discuss your project
Ensure your marketing budgets aren't being misallocated. Book a free GA4 Analytics Audit with Codeble.