The pitch is always compelling: your campaigns are performing well, ROAS looks good, the account manager is confident. Time to scale. And maybe they're right — but "campaigns appear to be performing well" and "campaigns are actually performing well" are not the same thing when your tracking has gaps.

The six checks below are specifically calibrated to surface the measurement problems that make accounts look better than they are — the ones that get discovered after the budget increase, not before it.

Check 1: Your Conversion Event Fires on Real Conversions

01 Is the conversion event measuring what it claims to measure?

The most common conversion misconfiguration isn't a broken tag — it's a tag measuring the wrong thing. Form submissions tracking button clicks instead of confirmed leads. Purchase events firing before payment is confirmed. Event names that sound like completions but actually fire at an earlier step.

This is distinct from duplicate counting (Check 2) — the event may fire exactly once, but it's firing at the wrong moment, so it's counting something that isn't a conversion.

How to check: Use GA4's DebugView (Admin → DebugView) while manually completing your conversion flow. Watch exactly when the conversion event fires. Does it fire on form submit or on thank-you page load? Does it fire before or after payment confirmation? Run the test with an intentionally bad form submission (wrong email format) and check if the conversion fires anyway.

Also check: compare your GA4 conversion count to your CRM or order management system for the same time period. A ratio above 1.3x (30% more GA4 conversions than CRM leads) is a strong indicator that you're measuring something that isn't a real conversion.

Check 2: No Duplicate Conversion Counting

02 Google Ads isn't receiving two signals for every one conversion

When you have both a GA4 conversion import and a native Google Ads conversion tag tracking the same action, Google Ads counts both signals. Every real conversion becomes two reported conversions. Your cost-per-conversion drops in half. Your ROAS doubles. The account looks dramatically better than it is.

This configuration is common in accounts that were set up in phases — GTM tags added first, GA4 imports configured later, without anyone removing the now-redundant direct tag.

How to check: In Google Ads, go to Goals → Conversions → Summary. For each conversion action, check the source. If you have both a "Google Analytics 4" source and a "Website" source for the same conversion action, you have duplicates. Also check: is your Google Ads all-conversions count more than 30% higher than your GA4 conversions count for the same time period? That gap suggests duplicate counting.

The risk of scaling on this: if you increase budget 50% based on a ROAS that's artificially doubled, you're not scaling a profitable campaign — you're scaling one that may be marginally profitable or even loss-making at its true performance level.

Check 3: Auto-Tagging Is Working

03 Click IDs are surviving from the ad click to the conversion event

Google Ads auto-tagging appends a gclid parameter to every ad click URL. GA4 reads this parameter, stores it, and uses it to attribute conversions back to the specific ad, ad group, and campaign that generated the click. Without a functioning gclid, campaign-level attribution breaks — conversions get reported in Google Ads, but not associated with the right campaign, keyword, or audience.

The gclid can be silently stripped in several ways: URL redirect chains that don't preserve query parameters, server-side redirects that strip parameters, CMS plugins that "clean" incoming URLs, and landing page builders that use their own URL handling.

How to check: Click one of your own ads (from an incognito window to avoid inflating impressions). Look at the landing page URL — it should contain ?gclid= or &gclid=. If the gclid is missing, the redirect is stripping it. Also check in GA4: go to Reports → Acquisition → Traffic Acquisition, set the dimension to "Session campaign" and filter for your Google Ads campaigns. If conversions are being attributed to "Direct" instead of the campaign name, gclid is being lost.

How to check the redirect chain: use a tool like redirect-checker.org or check your GTM tag's landing page URL variable — does it preserve query params? If you're using a landing page platform, check whether it has a "preserve URL parameters" setting that may be disabled.

Check 4: Your "Best Campaign" Isn't Mostly Brand Search

04 Brand search conversions are being separated from non-brand performance

Brand search campaigns — ads that show when someone searches your company name — almost always have the highest ROAS of any campaign in an account. They should: the person already knows you, already wants you, and is just using Google as a navigation tool to find your site. Attributing these conversions to "Google Ads performance" is misleading.

The problem appears when brand and non-brand campaigns aren't clearly segmented, and campaign-level ROAS numbers blend both. A campaign showing 8x ROAS might be 60% brand search (inherently high-converting) and 40% non-brand (where the actual growth question is). Scaling based on the blended 8x when non-brand is actually running at 3x can significantly overshoot ROI.

How to check: In Google Ads, go to your top-performing campaign's search terms report. What percentage of impressions and conversions are attributed to your brand name or product name searches? If it's above 40%, your reported ROAS significantly overstates non-brand performance. Are your brand and non-brand campaigns separated with distinct budgets so you can evaluate them independently?

Note: this isn't an argument against brand campaigns — they're usually worth running. It's an argument for not using blended brand+non-brand ROAS to make non-brand budget decisions.

Check 5: Data Retention Covers Your Lookback Window

05 GA4's 2-month retention default truncates long buying cycles

GA4's default event data retention period is 2 months. If someone clicked your ad, returned to the site multiple times over 3 months, and then converted, the early sessions that show campaign attribution behavior fall outside the retention window. You're left with incomplete path data.

This is especially significant for products with long evaluation cycles: B2B software, high-consideration purchases, services with proposal stages. In these categories, cutting data retention at 2 months means your attribution modeling is working with an incomplete picture of the actual customer journey.

How to check: Go to Admin → Data Settings → Data Retention. Is the event data retention period set to 2 months or 14 months? The 2-month default is correct for properties with high PII sensitivity, but almost everyone else should be on 14 months.

How to check if it's affecting your data: In GA4 Explore, build a path report starting from paid search first touch. If most paths look suspiciously short (1–2 touches before conversion), some of that may be attribution truncation rather than genuinely short cycles.

Check 6: Internal Traffic Is Filtered

06 Your own team's form submissions aren't in your conversion data

If your office IP and development team IPs aren't filtered from GA4 data, every internal form submission, test transaction, and QA workflow run appears as a conversion in your reports. These sessions appear as direct traffic (no campaign attribution), which makes direct traffic look like a surprisingly strong converter while diluting the measured performance of paid channels.

For companies running frequent internal demos, agencies testing client sites, and businesses that did significant testing at or after launch, unfiltered internal traffic can meaningfully inflate absolute conversion counts.

How to check: Go to Admin → Data Streams → [your stream] → Configure Tag Settings → Define Internal Traffic. Are your office IPs listed? Then go to Admin → Data Filters. Is there an Internal Traffic filter with status "Active" (not "Testing")? Both must be configured — the IP definition without the filter does nothing.

Quick sanity check: look at conversions by city. If your headquarters city appears to have an unusually high conversion rate relative to its share of organic sessions, internal traffic is likely not filtered.

What to Do If You Find Issues

The answer is not to delay the budget decision indefinitely while you fix everything. It's to fix what you can quickly, understand which issues affect your current data, and make the budget decision with an honest picture of data confidence.

Some of these checks (data retention, internal traffic filter) are fixes you can make today that don't affect historical data — they only improve future accuracy. Others (duplicate conversion tags, misconfigured conversion events) affect current reported numbers and need to be resolved before you can trust the ROAS justifying the budget increase.

A budget increase on doubled conversion counts is not doubling your budget — it's spending to maintain the same real output you already have. If you're seeing 200 conversions at $5,000 and actually have 100 due to duplication, raising to $10,000 expecting 400 will produce about 200 at best. The math only works on real numbers.

GA4 Health Check runs an automated audit that checks all six of these issues across your GA4 property configuration. You get a report in minutes showing exactly which checks passed and which failed — with specific remediation steps for each finding. Run the audit before the budget conversation — $79, 60 seconds of setup.

Travis Gunn
Founder of GA4 Health Check. Working with Google Analytics since 2013, with over 250 clients audited across almost every industry vertical. 100% Job Success on Upwork for over a decade.