> ## Content Index
> Fetch the complete content index at: https://buildwire.ai/llms.txt
> Use this file to discover other available public pages before exploring further.

# GA4 Audit Essentials - The Critical 15 Items Every Marketer Must Fix
- URL: https://buildwire.ai/blog/ga4-audit-essentials-the-critical-15-items-every-marketer-must-fix/
- Published: 2025-12-11T07:55:32.000Z
- Updated: 2026-06-14T07:31:22.000Z
- Description: Your GA4 setup is probably broken (here's how to fix it in 1 hour)
- Author: Rananjay Raj
- Tags: #beehiiv, #Migrated-1781422191461, #Import 2026-06-14 13:00

## 🔴 The Critical 15 Checklist

I’ve ranked these by **financial impact**. Start from #1 and work your way down.

### TIER 1: Fix These First (Your Wallet is Bleeding) 💸

### 1\. Data Retention Set to 14 Months

**The Problem:** GA4’s default data retention is **only 2 months**. After that, your user-level and event-level data is DELETED. Forever.

You can’t:

- Build audiences from old data
- Create retroactive cohorts
- Analyze historical user behavior
- Run explorations on data older than 2 months

**The Fix:**

```
1. Go to Admin → Data Settings → Data Retention
2. Change from "2 months" to "14 months"
3. Click Save
```

**Time:** 30 seconds **Impact:** Massive - this affects ALL future analysis

⚠️ **Warning:** You can’t recover data that’s already been deleted. Fix this NOW.

---

### 2\. Conversions Are Actually Marked as “Key Events”

**The Problem:** You might be tracking purchase/lead events, but if they’re not marked as “key events” (formerly conversions), they:

- Won’t import to Google Ads
- Won’t trigger Smart Bidding optimization
- Won’t appear in conversion reports

**The Fix:**

```
1. Admin → Events
2. Find your conversion event (purchase, generate_lead, sign_up)
3. Toggle "Mark as key event" to ON
4. Repeat for all conversion events
```

**Pro Tip:** You can have up to 30 key events per property. Use them wisely.

**Events to mark as key events:**

- `purchase` (e-commerce)
- `generate_lead` (form submissions)
- `sign_up` (account creation)
- `begin_checkout` (high intent)
- Custom conversion events specific to your business

---

### 3\. Internal Traffic Filter is ACTIVE

**The Problem:** Your team’s browsing, testing, and QA work is being counted as real traffic. This inflates:

- Session counts
- Pageview numbers
- Conversion rates (when you test checkouts)
- Engagement metrics

**The Fix:**

```
1. Admin → Data Streams → [Your Stream] → Configure tag settings
2. Show more → Define internal traffic
3. Click "Create" and add your IP addresses:
   - traffic_type: internal
   - IP address: matches regex: YOUR_IP_HERE
4. Go to Admin → Data Settings → Data Filters
5. Find "Internal Traffic" filter
6. Change from "Testing" to "Active"
```

**How to Find Your IP:**

- Google “what is my IP”
- Add office IPs, home IPs, VPN IPs

**Time:** 5 minutes **Impact:** Immediately improves data quality

---

### 4\. Google Ads Account Linked + Conversions Importing

**The Problem:** If GA4 isn’t linked to Google Ads:

- Your conversions don’t import
- Smart Bidding has no conversion data
- You can’t use GA4 audiences in campaigns
- Attribution is completely broken

**The Fix:**

```
1. Admin → Product Links → Google Ads Links → Link
2. Choose your Google Ads account
3. Enable "Personalized advertising" if you want audiences
4. After linking, go to Google Ads:
   - Tools → Conversions → Import
   - Select GA4 property
   - Import your key events as conversions
```

**Critical:** Make sure you import as “Conversions” not “All conversions” for Smart Bidding.

---

### 5\. Auto-Tagging Enabled in Google Ads

**The Problem:** Without auto-tagging:

- Google Ads clicks won’t be properly attributed
- You’ll lose conversion data
- Smart Bidding optimization fails

**The Fix:**

```
Google Ads:
1. Settings → Account Settings
2. Auto-tagging: Turn ON
3. Check "Tag the URL that people click through from my ad"
```

**Also set in GA4:**

```
gtag('config', 'G-XXXXXXXXXX', {
  'allow_google_signals': true,  'allow_ad_personalization_signals': true});
```

---

### TIER 2: Fix These This Week (Optimization Killers) 📉

### 6\. Purchase Event Has Unique Transaction IDs

**The Problem:** Duplicate transaction IDs = duplicate revenue counting. Your revenue reports will be WILDLY inflated.

**The Fix:**

```
// BAD: Same transaction ID'transaction_id': 'ORDER_12345'// GOOD: Unique transaction ID'transaction_id': 'ORDER_' + Date.now() + '_' + Math.random()
// BETTER: Use your actual order ID from database'transaction_id': orderData.id  // e.g., "ORD_2025_12345"
```

**How to check:**

```
1. Reports → Monetization → Ecommerce purchases
2. Look at transaction_id column
3. If you see duplicates, you have a problem
```

---

### 7\. Revenue Numbers Match Payment Processor

**The Problem:** If GA4 revenue doesn’t match Stripe/PayPal/etc:

- Your attribution is wrong
- You’re making decisions on bad data
- You can’t trust your ROAS

**The Fix:** Do a monthly reconciliation:

```
Step 1: Export GA4 Revenue
- Reports → Monetization → Ecommerce purchases
- Date range: Last month
- Total revenue = $______

Step 2: Check Payment Processor
- Stripe/PayPal dashboard
- Same date range
- Total revenue = $______

Step 3: Compare
- If within 2-5% difference: OK (expected variance)
- If >5% difference: You have a tracking problem
```

**Common causes of mismatch:**

- Refunds not tracked
- Test transactions included
- Currency conversion issues
- Time zone differences

---

### 8\. UTM Parameters Standardized Across All Campaigns

**The Problem:** Inconsistent UTM parameters = broken attribution. You’ll see:

- “google / cpc” vs “Google / CPC” (treated as different sources)
- “email” vs “email\_campaign” vs “Email Marketing”
- Impossible to aggregate campaign performance

**The Fix:** Create a UTM naming convention document:

```
Source (utm_source):
✅ facebook, google, linkedin, twitter
❌ Facebook, FACEBOOK, fb

Medium (utm_medium):
✅ cpc, email, social, organic
❌ paid, paid-search, PPC

Campaign (utm_campaign):
✅ q4_promo_2025
❌ Q4 Promo 2025!

Rules:
- Always lowercase
- Use underscores, not spaces
- No special characters
- Be consistent
```

**Tool:** Use a UTM builder to enforce standards

- Create a Google Sheet with formulas
- Use a URL builder tool
- Train your team

---

### 9\. Enhanced Measurement Configured (Not Just “On”)

**The Problem:** Enhanced measurement is enabled by default, but you need to REVIEW what it’s tracking. You might be:

- Tracking irrelevant video embeds
- Capturing unwanted file downloads
- Missing custom site search

**The Fix:**

```
1. Admin → Data Streams → [Your Stream] → Enhanced measurement
2. Click the gear icon ⚙️
3. Review each option:

Page views: ✅ Keep ON
Scrolls: ✅ Keep ON (90% depth)
Outbound clicks: ✅ Keep ON
Site search: ⚠️ Configure search query parameter
Video engagement: ⚠️ ON only if you embed videos
File downloads: ⚠️ Review file extensions

```

**Site Search Configuration:** If you have internal search (e.g., `yoursite.com/search?q=marketing`):

- Query parameter: `q` (or whatever yours is)
- This enables automatic search tracking

---

### 10\. No PII (Personal Identifiable Information) in Events

**The Problem:** Sending PII to GA4 violates:

- Google’s Terms of Service
- GDPR (up to €20M fines)
- CCPA
- Your user’s trust

**Never Send to GA4:**

- ❌ Email addresses
- ❌ Phone numbers
- ❌ Full names
- ❌ Social security numbers
- ❌ Credit card info
- ❌ Passwords (seriously, I’ve seen this)

**The Fix:** Audit your custom events:

```
// BAD: Sending emailgtag('event', 'form_submit', {
  'user_email': 'john@example.com'  // ❌ NEVER DO THIS});// GOOD: Hash or use IDgtag('event', 'form_submit', {
  'user_id': 'user_abc123',  // ✅ Hashed or anonymized ID  'form_type': 'contact'});

```

---

### TIER 3: Fix These Before Month-End (Missing Money) 💰

### 11\. Conversion Values Assigned to All Key Events

**The Problem:** Without conversion values:

- You can’t calculate ROAS
- You can’t optimize for value
- All conversions look equal (they’re not)

**The Fix:** Calculate your lead values:

```
Formula:
Lead Value = (Annual Revenue ÷ Total Customers) × Conversion Rate

Example:
- Annual Revenue: $500,000
- Total Customers: 200
- Conversion Rate: 5%
- Lead Value = ($500,000 ÷ 200) × 0.05 = $125 per lead

```

Then assign to events:

```
gtag('event', 'generate_lead', {
  'currency': 'USD',  'value': 125,  // ✅ Estimated lead value  'lead_type': 'demo_request'});gtag('event', 'sign_up', {
  'currency': 'USD',  'value': 50,  // ✅ Trial signup value  'signup_type': 'free_trial'});

```

---

### 12\. Form Submissions Tracked as “generate\_lead”

**The Problem:** Contact forms are KEY conversions, but many sites:

- Don’t track them at all
- Track them as generic “form\_submit” (not a standard event)
- Don’t assign value

**The Fix:**

```
// On form submissiondocument.getElementById('contactForm').addEventListener('submit', function(e) {
  gtag('event', 'generate_lead', {
    'currency': 'USD',    'value': 100,  // Your lead value    'form_id': 'contact_form',    'form_type': 'contact',    'form_location': 'homepage'  });});

```

**Mark as key event:**

1. Admin → Events → Find “generate\_lead”
2. Toggle “Mark as key event”

---

### 13\. Checkout Funnel Exists (E-commerce)

**The Problem:** Without a checkout funnel, you can’t:

- See where users drop off
- Identify bottlenecks
- Optimize conversion rate
- Calculate abandonment rate

**The Fix:** Create a funnel exploration:

```
1. Explore → Create new exploration
2. Choose "Funnel exploration"
3. Add steps:
   - Step 1: view_item (Product page)
   - Step 2: add_to_cart (Add to cart)
   - Step 3: begin_checkout (Start checkout)
   - Step 4: purchase (Complete purchase)
4. Save and review weekly

```

**What to look for:**

- Biggest drop-off point (usually Step 2→3)
- Cart abandonment rate
- Device differences (mobile vs desktop)

---

### 14\. Test Transactions Filtered Out

**The Problem:** Your test orders are counted as real revenue. You’re inflating:

- Revenue numbers
- Conversion rates
- Order counts

**The Fix:**

**Option 1: Use a test transaction ID pattern**

```
// Test ordersif (isTestOrder) {
  gtag('event', 'purchase', {
    'transaction_id': 'TEST_' + Date.now(),  // Starts with TEST_    // ... rest of data  });}

```

Then create a filter in GA4:

```
Admin → Data Settings → Data Filters → Create filter
Parameter: transaction_id
Match type: begins_with
Value: TEST_
Action: Exclude

```

**Option 2: Separate test environment** Use a different GA4 property for staging/dev.

---

### 15\. Currency Set Correctly

**The Problem:** If your GA4 property currency doesn’t match your actual currency:

- Revenue reports will be wrong
- Google Ads ROAS will be wrong
- You’ll make bad optimization decisions

**The Fix:**

```
1. Admin → Property Settings
2. Currency: Select your currency (USD, EUR, INR, etc.)
3. ⚠️ NOTE: You can change this, but historical data won't be recalculated

```

Also, ALWAYS specify currency in events:

```
gtag('event', 'purchase', {
  'currency': 'USD',  // ✅ Always specify  'value': 99.99});

```

---

## ✅ Your Week 1 Action Plan

**Today (30 minutes):**

- \[ \] Set data retention to 14 months
- \[ \] Mark your conversions as key events
- \[ \] Enable internal traffic filter

**This Week (2 hours):**

- \[ \] Link Google Ads account
- \[ \] Enable auto-tagging
- \[ \] Check for duplicate transaction IDs
- \[ \] Reconcile GA4 revenue with payment processor

**Before Month-End:**

- \[ \] Create UTM naming convention document
- \[ \] Review enhanced measurement settings
- \[ \] Audit events for PII
- \[ \] Assign values to all conversions
- \[ \] Set up form tracking
- \[ \] Build checkout funnel (e-commerce)
- \[ \] Filter out test transactions
- \[ \] Verify currency settings

---

## 📥 Download This Week’s Mini-Checklist

I’ve created a **downloadable checklist** with just these 15 critical items.

| ![](https://buildwire.ai/content/images/2026/06/file_attachment-42.png)Week\_1\_Critical\_15\_Checklist.csv1.99 KB • CSV File[Download](https://beehiiv-publication-files.s3.amazonaws.com/uploads/downloadables/a786a17c-8111-4762-9186-87896e7649de/46337715-098b-4761-9b5d-6dc19262f343/Week%5F1%5FCritical%5F15%5FChecklist.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQCMHTQSE2JGAGXHJ%2F20260614%2Fus-east-1%2Fs3%2Faws4%5Frequest&X-Amz-Date=20260614T072952Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=3ec7e4ccfa649ba355d25d57dd961cb343a784a7526ababd1c4b0993a184406f&ref=buildwire.ai) |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

Import it into:

- Google Sheets
- Excel
- Notion
- Your project management tool

---

## 🚀 What’s Coming Next Week

**Week 2: E-commerce Tracking Masterclass**

If you sell products online, next week’s edition is ESSENTIAL. I’ll cover:

- The complete e-commerce event flow (view\_item → purchase)
- How to fix revenue attribution
- Cart abandonment tracking
- Product performance analysis
- Why your revenue numbers are probably wrong

---

**About This Series:**

This is Week 1 of a 4-week GA4 Audit Series:

- ✅ Week 1: GA4 Audit Essentials (You are here)
- Week 2: E-commerce Tracking Masterclass
- Week 3: Privacy-First Analytics
- Week 4: Advanced GA4 Features

---

**Resources Mentioned:**

- [GA4 Help Center](https://support.google.com/analytics/answer/9304153?utm%5Fsource=theaidrivenmarketer.beehiiv.com&utm%5Fmedium=referral&utm%5Fcampaign=ga4-audit-essentials-the-critical-15-items-every-marketer-must-fix)
- [Google Tag Assistant](https://tagassistant.google.com/?utm%5Fsource=theaidrivenmarketer.beehiiv.com&utm%5Fmedium=referral&utm%5Fcampaign=ga4-audit-essentials-the-critical-15-items-every-marketer-must-fix)
- [UTM Builder Tool](https://ga-dev-tools.google/campaign-url-builder/?utm%5Fsource=theaidrivenmarketer.beehiiv.com&utm%5Fmedium=referral&utm%5Fcampaign=ga4-audit-essentials-the-critical-15-items-every-marketer-must-fix)