Back to Resources
    checklist

    GA4 Implementation Checklist

    A complete, step-by-step checklist for implementing Google Analytics 4 correctly from day one. Ensure accurate tracking, proper configuration, and reliable reporting.

    GA4 Implementation Checklist

    What This Resource Is

    A comprehensive, step-by-step checklist for implementing Google Analytics 4 (GA4) correctly from the ground up. Whether you're migrating from Universal Analytics, setting up analytics for a new website, or fixing an existing GA4 implementation, this checklist ensures you configure everything properly the first time.

    This is not a high-level overview—it's a detailed, actionable implementation guide organized into logical phases, with specific verification steps for each checkpoint. Follow this checklist and you'll have a production-ready GA4 setup with accurate tracking, proper event configuration, and reliable reporting.

    Who Should Use It

    Perfect for:

    • Marketing Analysts - Implementing GA4 for the first time
    • Web Developers - Adding analytics tracking to websites
    • Marketing Managers - Overseeing GA4 migration or setup
    • Agency Teams - Standardizing GA4 implementations across clients
    • Solo Marketers - Setting up analytics without technical support
    • Data Engineers - Ensuring proper data collection architecture

    Use this checklist if you're:

    • Setting up GA4 for the first time
    • Migrating from Universal Analytics (UA)
    • Fixing a broken or poorly configured GA4 property
    • Taking over analytics for a new company or client
    • Launching a new website or app
    • Ensuring your GA4 setup follows best practices

    Don't use this if:

    • You need a high-level GA4 overview only (read a guide first)
    • You're just exploring GA4 features (not ready to implement)
    • Someone else handles all technical implementation (share this with them)

    How to Use It

    Before You Begin: Prerequisites

    You'll need:

    1. Google Account with appropriate permissions
    2. Website access - Ability to add code to your site (direct or via developer)
    3. Google Tag Manager - Strongly recommended (or ability to edit site code directly)
    4. Conversion goals defined - Know what actions you want to track
    5. Time allocation - 4-8 hours for basic setup, more for complex sites

    Gather this information:

    • Current analytics tracking (if migrating from UA)
    • List of key conversion events
    • E-commerce tracking requirements (if applicable)
    • Cross-domain tracking needs
    • User roles and access requirements

    Implementation Approach

    Phase-based implementation: This checklist is organized into 7 phases you'll complete in order:

    1. Phase 1: Property Setup - Create and configure your GA4 property
    2. Phase 2: Data Collection - Install tracking code and verify data flow
    3. Phase 3: Event Configuration - Set up custom events and conversions
    4. Phase 4: Enhanced Measurement - Configure automatic tracking features
    5. Phase 5: E-commerce Tracking (if applicable) - Implement transaction tracking
    6. Phase 6: Integration & Audiences - Connect platforms and build segments
    7. Phase 7: Reporting & Validation - Create reports and verify accuracy

    For each checkpoint:

    • Complete the action described
    • Verify it's working using the provided test method
    • Check off when confirmed working
    • Note any issues or customizations in comments

    Time estimates:

    • Basic website (no e-commerce): 4-6 hours
    • E-commerce site: 8-12 hours
    • Complex site (multiple domains, app+web): 16+ hours

    Testing as You Go

    Critical: Don't skip verification steps!

    After each phase, verify your implementation:

    • Use GA4 DebugView for real-time testing
    • Check Real-Time reports for immediate validation
    • Review standard reports after 24-48 hours
    • Document what you tested and results

    Common Implementation Paths

    Path 1: New Website, No Prior Analytics

    • Follow all phases in order
    • No migration concerns
    • Clean slate implementation

    Path 2: Migrating from Universal Analytics

    • Keep UA running during GA4 setup (parallel tracking)
    • Map UA goals to GA4 events
    • Compare data for validation period
    • Don't delete UA until confident in GA4

    Path 3: Fixing Existing GA4 Setup

    • Audit current state first (use our Marketing Data Audit Checklist)
    • Identify gaps with this checklist
    • Fix issues without disrupting working elements
    • Test thoroughly before considering "done"

    The Complete GA4 Implementation Checklist

    Phase 1: Property Setup & Configuration (12 Checkpoints)

    1.1 Create GA4 Property

    Action: Create a new GA4 property in your Google Analytics account

    • Log into Google Analytics admin
    • Click "Create Property"
    • Enter property name (e.g., "Company Name - Website")
    • Select timezone and currency
    • Click "Next" and configure business details

    Verify: Property appears in your account list

    Notes:

    • One property per website/app (or combined web+app property)
    • Choose timezone carefully (can't easily change later)
    • Currency should match your business reporting currency

    1.2 Create Data Stream

    Action: Create a web data stream for your website

    • In property setup, click "Web" for data stream type
    • Enter website URL (e.g., https://www.yoursite.com)
    • Enter stream name (e.g., "Main Website" or "Production")
    • Click "Create stream"

    Verify: Data stream created, Measurement ID displayed (G-XXXXXXXXXX)

    Notes:

    • One stream per website or app
    • For multiple domains, create one stream and configure cross-domain tracking later
    • Save your Measurement ID - you'll need it for tracking code

    1.3 Configure Data Stream Settings

    Action: Review and configure enhanced measurement settings

    • In your data stream, review "Enhanced measurement" toggle
    • Initially leave enabled (we'll configure details in Phase 4)
    • Note other settings (iOS app, Android app not applicable for web)

    Verify: Enhanced measurement toggle is ON

    Notes:

    • Enhanced measurement auto-tracks scrolls, outbound clicks, site search, video, file downloads
    • We'll fine-tune these settings later
    • Don't disable unless you have a specific reason

    1.4 Set Up Google Signals

    Action: Enable Google Signals for cross-device tracking

    • Go to Admin > Property > Data Settings > Data Collection
    • Enable "Google signals data collection"
    • Review and accept terms

    Verify: Google Signals shows as "Active"

    Notes:

    • Enables remarketing and cross-device reporting
    • Requires compliance with privacy policies
    • Users can opt out via Google Ads Settings

    1.5 Configure Data Retention

    Action: Set event data retention period

    • Go to Admin > Property > Data Settings > Data Retention
    • Set to "14 months" (maximum for standard GA4)
    • Set "Reset user data on new activity" to ON

    Verify: Retention set to 14 months

    Notes:

    • Default is 2 months (too short for most businesses!)
    • This affects explorations and user-level reports
    • Aggregated reports (standard) not affected
    • BigQuery export preserves all data if needed

    1.6 Add Users and Set Permissions

    Action: Grant access to team members

    • Go to Admin > Property > Property Access Management
    • Click "+" to add users
    • Enter email addresses and select role:
      • Administrator: Full control (use sparingly)
      • Editor: Create/edit but can't manage users
      • Analyst: Build reports, audiences, but can't edit configuration
      • Viewer: Read-only access

    Verify: All users receive access email and can log in

    Notes:

    • Grant minimum necessary permissions
    • Use Google Groups for team access management
    • Review access quarterly and remove former employees
    • Consider separate properties for dev/staging/production

    1.7 Link Google Ads Account (if applicable)

    Action: Connect your Google Ads account to GA4

    • Go to Admin > Property > Google Ads Links
    • Click "Link" and select your Google Ads account
    • Enable auto-tagging
    • Enable personalized advertising
    • Click "Submit"

    Verify: Link shows as "Active" in both GA4 and Google Ads

    Notes:

    • Must have admin access to both accounts
    • Enables GA4 audiences in Google Ads
    • Imports Google Ads cost data to GA4
    • Required for enhanced conversions and better attribution

    1.8 Link Search Console (if applicable)

    Action: Connect Google Search Console to GA4

    • Go to Admin > Property > Search Console Links
    • Click "Link" and choose your Search Console property
    • Select your web data stream
    • Click "Submit"

    Verify: Link shows as "Active"

    Notes:

    • Enables organic search query reporting in GA4
    • Must have owner/admin access to Search Console
    • Links at property level, not stream level

    1.9 Configure Internal Traffic Filter

    Action: Create filter to exclude your own office traffic

    • Go to Admin > Property > Data Streams > [your stream]
    • Click "Configure tag settings" > "Show more" > "Define internal traffic"
    • Click "Create" and name it (e.g., "Office IP")
    • Select "IP address equals" or "IP address begins with"
    • Enter your office IP address(es)
    • Save

    Then activate the filter:

    • Go to Admin > Property > Data Settings > Data Filters
    • Toggle the "Internal Traffic" filter to "Active"

    Verify: Visit your site from office, check DebugView shows traffic tagged as "internal"

    Notes:

    • Get your IP address from whatismyipaddress.com
    • Add all office locations, VPN IPs
    • For dynamic IPs, use "begins with" for IP range
    • Can create "Test" state instead of filtering entirely

    1.10 Set Up Developer/Test Filter (optional but recommended)

    Action: Create filter to separate development traffic

    • Go to Admin > Property > Data Streams > [your stream]
    • Click "Configure tag settings" > "Show more" > "Define internal traffic"
    • Create new rule for development environments
    • Match on hostname (e.g., "hostname contains staging" or "hostname contains localhost")
    • Save as "Development Traffic"

    Verify: Visit staging site, check DebugView shows traffic tagged appropriately

    Notes:

    • Keeps test data separate from production
    • Essential for accurate reporting
    • Can create separate GA4 property for dev/staging instead

    1.11 Configure Bot Filtering

    Action: Enable bot filtering (should be default)

    • Go to Admin > Property > Data Settings > Data Collection
    • Verify "Exclude all hits from known bots and spiders" is checked

    Verify: Setting is enabled

    Notes:

    • Usually enabled by default
    • Filters out most bot traffic automatically
    • For stubborn bots, may need custom filters later

    1.12 Set Up BigQuery Export (optional, recommended for enterprises)

    Action: Enable BigQuery export for raw data access

    • Go to Admin > Property > BigQuery Links
    • Click "Link" and select or create BigQuery project
    • Choose daily or streaming export
    • Configure dataset location (should match your region)
    • Click "Submit"

    Verify: Link shows as "Active", data begins flowing within 24 hours

    Notes:

    • Requires Google Cloud Platform account
    • Free for first 10GB/month, then paid
    • Enables custom analysis beyond GA4 interface
    • Bypasses data sampling
    • Preserves data beyond retention limits
    • Recommended for high-traffic sites or advanced analytics needs

    Phase 2: Data Collection Setup (8 Checkpoints)

    2.1 Install Google Tag Manager (Recommended Method)

    Action: Add GTM container to your website

    • Create GTM account and container at tagmanager.google.com
    • Copy container code snippet
    • Add container code to every page:
      • Part 1: In <head> section
      • Part 2: Immediately after opening <body> tag
    • Publish container

    Verify:

    • Visit your site, right-click > Inspect, search for "googletagmanager.com"
    • Use Google Tag Assistant Chrome extension

    Notes:

    • GTM is strongly recommended over hardcoding GA4
    • Easier to maintain and update
    • Enables tag management without developer dependencies
    • If not using GTM, skip to 2.2 for direct implementation

    2.2 Create GA4 Configuration Tag in GTM

    Action: Set up GA4 tag in Google Tag Manager

    • In GTM, click Tags > New
    • Name it "GA4 - Configuration Tag"
    • Tag Configuration > Google Analytics: GA4 Configuration
    • Enter your Measurement ID (G-XXXXXXXXXX)
    • Triggering: Select "All Pages" trigger
    • Save

    Verify:

    • Use GTM Preview mode
    • Visit your site, verify tag fires on every page
    • Check GA4 DebugView shows page_view events

    Notes:

    • This is your base configuration tag
    • All other GA4 tags will reference this
    • Only need one configuration tag per property

    2.3 Publish GTM Container

    Action: Publish your GTM container to production

    • Click "Submit" in GTM
    • Enter version name (e.g., "GA4 Initial Setup")
    • Add description of changes
    • Click "Publish"

    Verify:

    • Visit your live site (not preview mode)
    • Check GA4 Real-Time reports show active user (you)
    • Verify page_view events appearing

    Notes:

    • Always use descriptive version names
    • GTM maintains version history (can rollback if needed)
    • Test in preview before publishing!

    2.4 Verify Data Collection

    Action: Confirm data is flowing to GA4

    • Visit your website
    • Open GA4 > Reports > Real-time
    • Verify you see:
      • Active users count (at least 1 - you)
      • Event count increasing
      • Page views showing your navigation
      • Correct page paths

    Verify: Real-time report shows activity within 10 seconds

    Notes:

    • If no data after 5 minutes, check:
      • GTM container published (not just saved)
      • GTM code on page (view source)
      • Measurement ID correct in GTM tag
      • Ad blockers disabled for testing
    • Standard reports take 24-48 hours to populate

    2.5 Test with GA4 DebugView

    Action: Enable debug mode and test events

    • Install Google Analytics Debugger Chrome extension OR
    • Add ?debug_mode=true to your URL parameter
    • Navigate your site performing key actions
    • Open GA4 > Configure > DebugView
    • Watch events fire in real-time

    Verify:

    • Page views appear as you navigate
    • Events show correct parameters
    • No errors in event stream
    • User properties populated

    Notes:

    • DebugView is your best friend during implementation
    • Shows real-time event data with full details
    • Debug mode doesn't affect actual reporting
    • Disable debug mode when done testing (remove extension or URL parameter)

    2.6 Configure Cross-Domain Tracking (if applicable)

    Action: Set up cross-domain tracking for multiple domains

    • In GA4 Admin > Property > Data Streams > [stream] > Configure tag settings
    • Scroll to "Configure your domains"
    • Add all domains that should share user sessions:
      • www.yoursite.com
      • shop.yoursite.com
      • checkout.yoursite.com
      • Any third-party domains (payment processors, etc.)
    • Save

    In GTM (if using):

    • Edit your GA4 Configuration tag
    • Fields to Set > Add Row
    • Field Name: linker
    • Value: {"domains":["domain1.com","domain2.com"]}
    • Save and publish

    Verify:

    • Navigate from one domain to another
    • Check GA4 Real-Time > Traffic acquisition
    • Verify source shows previous page, not referral
    • User ID persists across domains

    Notes:

    • Only needed if you have multiple domains
    • Prevents self-referrals
    • Test by navigating between all domain combinations
    • Common use case: main site to shopping cart on different domain

    2.7 Set Up Subdomain Tracking (if applicable)

    Action: Configure tracking for subdomains

    • Ensure cookie domain is set correctly in GTM
    • Edit GA4 Configuration tag
    • Fields to Set > Add Row
    • Field Name: cookie_domain
    • Value: auto (usually best) or .yourdomain.com (for explicit subdomain tracking)
    • Save and publish

    Verify:

    • Visit www.yoursite.com, then blog.yoursite.com
    • User session continues (same Client ID)
    • No self-referrals in reports

    Notes:

    • Usually handled automatically with auto setting
    • Explicit domain setting needed for complex setups
    • Test all subdomain combinations

    2.8 Configure Referral Exclusions

    Action: Exclude your own domains and payment processors from referral traffic

    • Go to Admin > Property > Data Streams > [stream] > Configure tag settings
    • Scroll to "More tagging settings" > "List unwanted referrals"
    • Add domains to exclude:
      • Your own domains (if not using cross-domain tracking)
      • Payment processors (paypal.com, stripe.com)
      • Login providers (google.com for OAuth)
      • Any third-party that interrupts user flow

    Verify:

    • Complete transaction that goes to PayPal and back
    • Check GA4 Traffic Acquisition report
    • Verify PayPal not listed as referral source

    Notes:

    • Prevents payment processors from being credited as traffic sources
    • Essential for accurate attribution
    • Don't overuse - only exclude truly unwanted referrals

    Phase 3: Event Configuration (10 Checkpoints)

    3.1 Review Automatically Collected Events

    Action: Understand which events are automatically tracked

    • Review GA4 documentation on automatic events:
      • page_view - Automatically collected
      • session_start - Automatically collected
      • first_visit - Automatically collected
      • user_engagement - Automatically collected
    • Open Reports > Real-time > Event count
    • Verify these events appear

    Verify: Automatic events showing in Real-time reports

    Notes:

    • These events require no configuration
    • Foundation for all GA4 reporting
    • Can't disable (nor should you want to)

    3.2 Plan Custom Events

    Action: Document all custom events you need to track

    • Create event naming plan spreadsheet
    • List each event with:
      • Event name (e.g., generate_lead, sign_up, download_asset)
      • Trigger condition (when it fires)
      • Parameters (what additional data to capture)
      • Conversion status (is this a conversion?)
      • Owner (who's responsible for maintenance)

    Verify: Documented plan approved by stakeholders

    Notes:

    • Use GA4 recommended event names when possible (see GA4 documentation)
    • Follow naming convention: lowercase with underscores
    • Keep event names under 40 characters
    • Avoid spaces and special characters
    • Plan before implementing to avoid inconsistency

    Recommended events to consider:

    • generate_lead - Form submissions
    • sign_up - Newsletter, account creation
    • login - User authentication
    • search - Site search usage
    • view_item - Product views (e-commerce)
    • add_to_cart - Cart additions
    • begin_checkout - Checkout start
    • purchase - Transactions
    • Custom events specific to your business

    3.3 Create Form Submission Event

    Action: Track form submissions as events

    • In GTM, create new trigger:
      • Type: Form Submission
      • Name: "Form Submission - All Forms" (or specific forms)
      • Triggering: All Forms (or Page URL contains /contact)
      • Check "Wait for Tags" and "Enable validation"
    • Create new tag:
      • Type: GA4 Event
      • Name: "GA4 - Form Submit"
      • Configuration Tag: Select your GA4 config tag
      • Event Name: generate_lead or form_submit
      • Event Parameters (optional):
        • form_id: {{Form ID}}
        • form_name: {{Form Classes}} or custom variable
      • Triggering: Form Submission trigger created above
    • Save and publish

    Verify:

    • Use Preview mode, submit form
    • Check DebugView shows generate_lead event with parameters
    • Verify Real-Time shows event

    Notes:

    • Test with all forms on your site
    • AJAX forms may need custom JavaScript tracking
    • Multi-step forms - track each step or just final submission
    • Never capture form field values (PII risk)

    3.4 Create Button Click Events

    Action: Track important button clicks

    • In GTM, create trigger:
      • Type: Click - All Elements
      • Name: "Click - CTA Button"
      • Fire on: Some Clicks
      • Condition: Click Text contains "Get Started" (or appropriate selector)
    • Create tag:
      • Type: GA4 Event
      • Name: "GA4 - CTA Click"
      • Event Name: click_cta or button_click
      • Parameters:
        • button_text: {{Click Text}}
        • button_location: {{Page Path}}
      • Triggering: CTA Button trigger
    • Save and publish

    Verify:

    • Preview mode, click buttons
    • DebugView shows events
    • Parameters capture correct info

    Notes:

    • Be selective - don't track every click
    • Focus on conversion-oriented clicks
    • Use Click Classes, Click ID, or Click Text to target specific buttons
    • May need custom data-attributes for precise targeting

    3.5 Create Outbound Link Click Event

    Action: Track clicks to external websites

    • Usually auto-tracked if Enhanced Measurement enabled (see Phase 4)
    • If custom tracking needed:
      • GTM trigger: Click - All Elements
      • Fire on: Click URL does NOT contain yoursite.com
      • Tag: GA4 Event
      • Event name: click (standard) or outbound_click
      • Parameters: link_url: {{Click URL}}

    Verify:

    • Click link to external site
    • DebugView shows event with correct URL

    Notes:

    • Check if Enhanced Measurement already tracking this (prevents duplicate)
    • Useful for affiliate links, resource links, partner links
    • Can segment by destination domain

    3.6 Create File Download Event

    Action: Track downloads of PDFs, docs, etc.

    • Usually auto-tracked if Enhanced Measurement enabled
    • If custom tracking needed:
      • GTM trigger: Click - All Elements
      • Fire on: Click URL matches RegEx \.(pdf|doc|docx|xls|xlsx|zip)$
      • Tag: GA4 Event
      • Event name: file_download (standard)
      • Parameters: file_name: {{Click URL}}

    Verify:

    • Click download link
    • DebugView shows file_download event

    Notes:

    • Adjust file extensions regex for your needs
    • Check Enhanced Measurement first
    • Useful for tracking whitepaper downloads, resource downloads

    3.7 Create Video Engagement Event (if applicable)

    Action: Track YouTube video engagement

    • Usually auto-tracked if Enhanced Measurement enabled (YouTube only)
    • For custom video players:
      • Requires JavaScript to track play, pause, completion
      • Push to dataLayer on video events
      • GTM trigger on dataLayer event
      • GA4 event tag: video_start, video_progress, video_complete

    Verify:

    • Play video to 25%, 50%, 75%, 100%
    • DebugView shows progress events

    Notes:

    • Enhanced Measurement handles YouTube automatically
    • Vimeo, Wistia need custom implementation
    • Track video title and percent watched

    3.8 Mark Events as Conversions

    Action: Designate important events as conversions

    • Go to Admin > Property > Events
    • Wait for your events to appear (may take 24 hours after first event fire)
    • Toggle "Mark as conversion" for:
      • generate_lead (form submissions)
      • purchase (e-commerce)
      • sign_up (newsletter/account)
      • Any other conversion events
    • Save

    Verify: Events show "Conversion" toggle as ON

    Notes:

    • Only mark true conversions (business value events)
    • Limit to <30 conversions per property (best practice)
    • Can retroactively mark as conversion (applies to historical data)
    • These appear in Conversions reports and Google Ads

    3.9 Create Custom Event Parameters (if needed)

    Action: Add custom parameters to capture additional context

    • In GTM, when creating event tags:
      • Add Event Parameters
      • Parameter name: custom_parameter_name
      • Value: {{Variable}} or static value
    • Common parameters:
      • value - Monetary value (for conversions)
      • currency - Currency code (USD, EUR)
      • user_type - Customer segment
      • content_category - Page/content category

    Verify:

    • DebugView shows events with custom parameters
    • Parameters captured correctly

    Notes:

    • Limit to 25 parameters per event
    • Use lowercase with underscores
    • Parameters under 40 characters
    • Register custom parameters in GA4 if you want to use in reporting (Admin > Custom Definitions)

    3.10 Register Custom Dimensions (if using custom parameters)

    Action: Register custom parameters as dimensions for reporting

    • Go to Admin > Property > Custom Definitions > Create Custom Dimension
    • For each custom parameter you want in reports:
      • Dimension name: User-friendly name (e.g., "Content Category")
      • Scope: Event (usually) or User
      • Parameter: Select your custom parameter name
      • Click Save
    • Repeat for each custom parameter

    Verify: Custom dimensions appear in dimension list

    Notes:

    • Free GA4 allows 50 event-scoped and 25 user-scoped custom dimensions
    • Must register to use in reports and explorations
    • Can't retroactively create (only applies to future data)
    • Name clearly for report users

    Phase 4: Enhanced Measurement Configuration (7 Checkpoints)

    4.1 Review Enhanced Measurement Settings

    Action: Audit what Enhanced Measurement is tracking

    • Go to Admin > Property > Data Streams > [your stream]
    • Click "Enhanced measurement" gear icon
    • Review each option:
      • Page views (always on, can't disable)
      • Scrolls (90% scroll depth)
      • Outbound clicks
      • Site search
      • Video engagement (YouTube)
      • File downloads

    Verify: Settings match your tracking needs

    Notes:

    • Enhanced Measurement is automatic event tracking
    • Enabled by default - convenient but check what you need
    • Can disable individual options if they create noise
    • Some enhanced events may duplicate custom tracking (check!)

    4.2 Configure Site Search Tracking

    Action: Set up automatic site search tracking

    • In Enhanced Measurement settings
    • Click gear icon next to "Site search"
    • Add search query parameters (e.g., q, search, query, s)
    • Check "show advanced settings" if needed
    • Save

    Verify:

    • Perform site search
    • DebugView shows view_search_results event
    • Event parameter search_term captures query

    Notes:

    • Check your site's URL when searching (e.g., /search?q=analytics)
    • The "q" is your query parameter
    • Can add multiple parameters (different search forms)
    • Disable if you have custom search tracking

    4.3 Configure Scroll Tracking

    Action: Decide if you want 90% scroll tracking

    • In Enhanced Measurement settings
    • Toggle scroll tracking on or off
    • Default: fires scroll event when user reaches 90% of page

    Verify:

    • Scroll to bottom of long page
    • DebugView shows scroll event

    Notes:

    • Useful for measuring content engagement
    • Can be noisy for short pages
    • Consider disabling if you want custom scroll depth tracking (e.g., 25%, 50%, 75%)

    4.4 Configure File Download Tracking

    Action: Set up automatic file download tracking

    • In Enhanced Measurement settings
    • Click gear icon next to "File downloads"
    • Review file extensions tracked (default: pdf, xlsx, docx, txt, rtf, csv, exe, key, pps, ppt, 7z, pkg, rar, gz, zip, avi, mov, mp4, mpeg, wmv, midi, mp3, wav, wma)
    • Add additional extensions if needed
    • Save

    Verify:

    • Click download link
    • DebugView shows file_download event
    • file_extension and file_name parameters populated

    Notes:

    • Covers most common file types by default
    • Add industry-specific files (e.g., .dwg for CAD, .psd for design)
    • Disable if you have custom download tracking

    4.5 Configure Outbound Click Tracking

    Action: Set up automatic outbound link tracking

    • In Enhanced Measurement settings
    • Toggle "Outbound clicks" on
    • Automatically tracks clicks to external domains

    Verify:

    • Click link to external site
    • DebugView shows click event
    • link_domain and link_url parameters populated
    • outbound parameter = true

    Notes:

    • Automatically excludes links to your own domain
    • Cross-domain configured sites won't show as outbound
    • Useful for tracking partner links, resources, social links

    4.6 Configure Video Engagement Tracking

    Action: Set up automatic YouTube video tracking

    • In Enhanced Measurement settings
    • Toggle "Video engagement" on
    • Automatically tracks YouTube embedded videos

    Events tracked:

    • video_start - Video play begins
    • video_progress - Reaches 10%, 25%, 50%, 75% watched
    • video_complete - Video finishes

    Verify:

    • Play YouTube video on your site
    • DebugView shows video events
    • Parameters include video_title, video_url, video_percent

    Notes:

    • Only works for YouTube embeds (not Vimeo, Wistia, self-hosted)
    • Must be embedded via iframe
    • For other video platforms, need custom tracking

    4.7 Disable Unwanted Enhanced Measurement Events

    Action: Turn off enhanced measurement events you don't need

    • Review each toggle in Enhanced Measurement
    • Disable any that:
      • You're tracking with custom events (to avoid duplicates)
      • Create too much noise/data
      • Don't provide value for your use case

    Verify: Only desired events appear in DebugView during testing

    Notes:

    • Can always re-enable later
    • Disabling reduces event count (matters for free GA4 limits)
    • Document what you disabled and why

    Phase 5: E-commerce Tracking (7 Checkpoints - Skip if not applicable)

    5.1 Plan E-commerce Implementation

    Action: Document e-commerce tracking requirements

    • Determine which events to track:
      • view_item - Product detail views
      • add_to_cart - Items added to cart
      • remove_from_cart - Items removed
      • view_cart - Cart page views
      • begin_checkout - Checkout initiated
      • add_payment_info - Payment method added
      • add_shipping_info - Shipping info added
      • purchase - Transaction completed
      • refund - Transaction refunded (if applicable)
    • Map to your e-commerce platform
    • Define required parameters (product ID, name, price, quantity, etc.)

    Verify: E-commerce tracking plan documented and approved

    Notes:

    • Use GA4 recommended e-commerce events (for compatibility)
    • Coordinate with development team
    • May require e-commerce platform plugin or custom code

    5.2 Implement Product View Tracking

    Action: Track when users view product detail pages

    • Create dataLayer push on product page load:
    dataLayer.push({
      event: 'view_item',
      ecommerce: {
        items: [{
          item_id: 'SKU_12345',
          item_name: 'Product Name',
          item_brand: 'Brand Name',
          item_category: 'Category',
          price: 29.99,
          currency: 'USD'
        }]
      }
    });
    
    • In GTM:
      • Trigger: Custom Event view_item
      • Tag: GA4 Event view_item
      • Pass ecommerce object
    • Publish

    Verify:

    • View product page
    • DebugView shows view_item with items array
    • All parameters populated correctly

    Notes:

    • Requires developer to add dataLayer push
    • Test with multiple products
    • Verify prices, IDs match actual products

    5.3 Implement Add to Cart Tracking

    Action: Track when users add products to cart

    • Add dataLayer push on "Add to Cart" button click:
    dataLayer.push({
      event: 'add_to_cart',
      ecommerce: {
        items: [{
          item_id: 'SKU_12345',
          item_name: 'Product Name',
          price: 29.99,
          quantity: 1
        }]
      }
    });
    
    • GTM tag for add_to_cart event
    • Publish

    Verify:

    • Add product to cart
    • DebugView shows add_to_cart event
    • Quantity and price correct

    Notes:

    • Track both initial add and quantity increases
    • Handle AJAX cart additions
    • Test across different product types

    5.4 Implement Checkout Begin Tracking

    Action: Track when users start checkout process

    • Add dataLayer push on checkout page load or button click:
    dataLayer.push({
      event: 'begin_checkout',
      ecommerce: {
        items: [
          // Array of all items in cart
        ]
      }
    });
    
    • GTM tag for begin_checkout
    • Publish

    Verify:

    • Start checkout
    • DebugView shows begin_checkout with full cart contents

    Notes:

    • Fire once per checkout session (not on every step)
    • Include all cart items
    • Capture cart value

    5.5 Implement Purchase Tracking (Critical!)

    Action: Track completed transactions

    • Add dataLayer push on order confirmation page:
    dataLayer.push({
      event: 'purchase',
      ecommerce: {
        transaction_id: 'ORD-123456',
        value: 79.99,
        tax: 6.40,
        shipping: 5.00,
        currency: 'USD',
        items: [
          {
            item_id: 'SKU_12345',
            item_name: 'Product Name',
            price: 29.99,
            quantity: 2
          }
        ]
      }
    });
    
    • GTM tag for purchase event
    • Mark as conversion in GA4
    • Publish

    Verify:

    • Complete test transaction
    • DebugView shows purchase event
    • Revenue, transaction ID, items all correct
    • Event appears in Conversions report (next day)

    Critical checks:

    • Transaction ID is unique (prevents duplicate counting)
    • Revenue matches order total exactly
    • Currency is correct
    • Tax and shipping included if needed
    • Items array includes all products

    Notes:

    • Most important e-commerce event!
    • Test extensively before going live
    • Verify revenue matches your actual sales
    • Never fire multiple times per order (use unique transaction ID)

    5.6 Link E-commerce Platform (if applicable)

    Action: Connect Shopify, WooCommerce, or other platform

    • For Shopify: Install GA4 app from Shopify App Store
    • For WooCommerce: Use plugin (e.g., GA4 for WooCommerce)
    • For custom platform: Implement manual tracking (above)
    • Configure app settings with Measurement ID
    • Test all e-commerce events

    Verify:

    • All e-commerce events fire correctly
    • Revenue data matches platform
    • Product data populates properly

    Notes:

    • Apps/plugins simplify implementation
    • May still need customization for full tracking
    • Verify app is actively maintained and compatible

    5.7 Validate E-commerce Revenue

    Action: Confirm revenue in GA4 matches actual sales

    • Run test transactions (multiple)
    • Wait 24-48 hours for reports to populate
    • Compare:
      • GA4 Monetization > E-commerce Purchases report
      • Your e-commerce platform revenue report
      • Same date range
    • Investigate any discrepancies >5%

    Verify: GA4 revenue within 5% of actual revenue

    Common discrepancies:

    • Refunds not tracked
    • Test orders included
    • Timezone differences
    • Tax/shipping calculation differences
    • Duplicate transaction IDs (same order counted twice)

    Notes:

    • This is your validation that e-commerce tracking works
    • Essential before relying on GA4 for business decisions
    • Re-check monthly as ongoing validation

    Phase 6: Integration & Audiences (6 Checkpoints)

    6.1 Verify Google Ads Conversion Import

    Action: Import GA4 conversions to Google Ads

    • In Google Ads, go to Tools > Measurement > Conversions
    • Click "+" New Conversion Action
    • Select "Import" > "Google Analytics 4 properties" > "Web"
    • Select your GA4 property
    • Choose conversions to import (select your key conversion events)
    • Import and save

    Verify:

    • Conversions appear in Google Ads
    • Status shows "Recording conversions"
    • Check conversion count matches GA4

    Notes:

    • Required to use GA4 conversions for bidding
    • Can import multiple conversion types
    • Data appears in Google Ads within 24 hours
    • Re-import if you add new conversion events

    6.2 Set Up Facebook Conversions API (if applicable)

    Action: Integrate GA4 with Meta for server-side conversion tracking

    • Use a CAPI integration tool or custom server endpoint
    • Send GA4 conversion events to Meta
    • Verify in Meta Events Manager

    Verify:

    • Events show in Meta Events Manager
    • Both pixel (browser) and CAPI (server) events visible
    • Match rate is acceptable

    Notes:

    • Helps recover conversions lost to iOS 14+ privacy changes
    • Requires technical implementation or tool like Zapier, Segment
    • Beyond basic GA4 setup but valuable for Facebook advertisers

    6.3 Create Basic Audiences

    Action: Build foundational audiences for remarketing

    • Go to Admin > Property > Audiences
    • Click "New Audience"
    • Create these starter audiences:
      1. All Users - Preconfigured, just verify it exists
      2. Purchasers - Users who triggered purchase event
      3. Cart Abandoners - Added to cart but didn't purchase
      4. Engaged Users - Session duration > 60 seconds or multiple pages
    • Configure membership duration (30, 60, 90 days)
    • Save each audience

    Verify:

    • Audiences appear in list
    • Status shows "Eligible" (may take 24-48 hours to start populating)
    • Shared to linked Google Ads account

    Notes:

    • Audiences require 24-48 hours to build
    • Must meet minimum size for advertising (typically 100 users)
    • Create more specific audiences as needed for campaigns

    6.4 Set Up User ID Tracking (if applicable)

    Action: Implement User ID for cross-device tracking

    • Requires login system with unique user IDs
    • Add User ID to dataLayer when user logs in:
    gtag('set', 'user_id', 'USER_12345');
    
    • Or in GTM:
      • Variable: Data Layer Variable user_id
      • In GA4 Config tag, Fields to Set: user_id = {{user_id}}
    • Publish

    Verify:

    • Log in to site
    • DebugView shows user_id parameter on events
    • Different devices/sessions show as same user

    Notes:

    • Only for logged-in users
    • Don't use PII (email) - use hashed or system ID
    • Enables cross-device reporting
    • Required for accurate returning user metrics

    6.5 Set Up Custom User Properties (optional)

    Action: Define user-level properties for segmentation

    • Common user properties:
      • Customer status (lead, customer, VIP)
      • Account type (free, paid, enterprise)
      • First order date
      • Lifetime value tier
    • In GTM, add to GA4 Config tag:
      • User Properties: Add property name and value
    • Or via gtag:
    gtag('set', 'user_properties', {
      account_type: 'premium'
    });
    

    Verify:

    • DebugView shows user properties on events
    • Can segment reports by user property

    Notes:

    • User properties persist across sessions
    • Use for permanent or long-lasting user attributes
    • Register in GA4 Admin > Custom Definitions > Custom User Property

    6.6 Create Key Path Exploration

    Action: Build exploration to analyze user journeys

    • Go to Explore
    • Select "Path Exploration" template
    • Configure:
      • Starting point: Landing page or first event
      • Steps: Show next 3-5 steps
      • Segment: All users or specific audience
    • Save exploration as "User Journey Analysis"

    Verify: Exploration shows logical user paths through your site

    Notes:

    • Use to understand how users navigate
    • Identify drop-off points
    • Inform UX improvements
    • Save for ongoing analysis

    Phase 7: Reporting & Validation (8 Checkpoints)

    7.1 Review Standard Reports

    Action: Familiarize yourself with GA4 report structure

    • Open Reports section
    • Navigate through:
      • Realtime - Current activity
      • Acquisition - How users find you
      • Engagement - What users do
      • Monetization - Revenue and e-commerce
      • Retention - Returning users
      • Demographics - User age, gender, location
      • Tech - Device, browser, OS
    • Verify data appears in each section (may take 24-48 hours)

    Verify: All report sections have data after 48 hours

    Notes:

    • Different from Universal Analytics report structure
    • Some reports require minimum data threshold
    • Demographics require Google Signals enabled

    7.2 Customize Reports Overview

    Action: Add important reports to overview page

    • Go to Reports > Overview
    • Click "Customize report" (pencil icon)
    • Add cards for:
      • Conversions by source
      • Key events
      • E-commerce revenue (if applicable)
      • Engaged sessions
    • Drag to arrange
    • Save

    Verify: Overview page shows your key metrics at a glance

    Notes:

    • Customize for your business needs
    • Overview is first page stakeholders see
    • Update as priorities change

    7.3 Create Key Event Report

    Action: Build report focused on your conversion events

    • Go to Explore
    • Select "Free Form" template
    • Dimensions: Event name, Source/Medium
    • Metrics: Event count, Conversions
    • Filters: Event name exactly matches your conversion events
    • Save as "Conversion Events Summary"

    Verify: Report shows all key conversion events with attribution

    Notes:

    • Quick view of all conversions
    • Compare performance by source
    • Share with stakeholders

    7.4 Set Up Analytics Annotation

    Action: Add annotations for major site changes

    • Currently GA4 doesn't have annotation feature (!)
    • Workaround: Maintain external changelog
    • Create spreadsheet or doc with:
      • Date
      • Change description
      • Expected impact
    • Reference when reviewing reports

    Verify: Changelog created and accessible to team

    Notes:

    • Helps explain unusual data patterns
    • Document campaigns, site changes, tracking updates
    • Critical for historical analysis

    7.5 Configure Conversion Attribution Settings

    Action: Review and set attribution model

    • Go to Admin > Property > Attribution Settings
    • Review:
      • Reporting attribution model: Default is data-driven (or last click if not enough data)
      • Lookback window: Default 90 days for conversions, 30 for ad clicks
    • Adjust if needed for your business
    • Click Save

    Verify: Settings match your sales cycle and attribution philosophy

    Notes:

    • Data-driven attribution requires sufficient conversion volume
    • Shorter sales cycle = shorter lookback window
    • Can compare models in Advertising > Attribution

    7.6 Validate Data Accuracy

    Action: Comprehensive data validation check

    • Compare GA4 to other sources:
      • Users/Sessions: Ballpark check vs. previous analytics (if migrating)
      • Conversions: Match to CRM leads, e-commerce orders
      • Revenue: Match to actual sales (within 5%)
      • Traffic sources: Cross-reference ad platform metrics
    • Document any discrepancies >10%
    • Investigate and resolve

    Verify: GA4 data aligns with other business systems within acceptable variance

    Common acceptable variances:

    • Sessions: GA4 counts differently than UA (okay if directionally similar)
    • Conversions: 5-10% difference from ad platforms (attribution windows differ)
    • Revenue: <5% difference from e-commerce platform

    Red flags:

    • 50%+ discrepancies (indicates tracking issue)
    • Missing conversion types
    • Zero revenue when sales occurred
    • All traffic showing as direct (UTM tracking broken)

    7.7 Create Monthly Report Template

    Action: Build standardized monthly report

    • Use Data Studio/Looker Studio or manual template
    • Include:
      • Executive summary (KPIs)
      • Traffic overview (users, sessions, sources)
      • Conversion performance
      • Revenue (if applicable)
      • Month-over-month comparison
      • Key insights and recommendations
    • Save as template
    • Schedule monthly generation

    Verify: Report template pulls GA4 data correctly

    Notes:

    • Automate if possible (Looker Studio)
    • Share with stakeholders monthly
    • Adjust template based on feedback

    7.8 Document Your GA4 Setup

    Action: Create comprehensive documentation

    • Document in wiki, Google Docs, or similar:
      • Property details: Measurement ID, data stream info
      • Events catalog: All events, descriptions, when they fire, parameters
      • Conversions: What's marked as conversion and why
      • Custom dimensions/metrics: Name, scope, purpose
      • GTM setup: Container ID, tags, triggers (or export container)
      • Integrations: Connected platforms, audiences
      • Access: Who has access and roles
      • Change log: Major changes to implementation
    • Make accessible to team

    Verify: New team member can understand your setup from documentation

    Notes:

    • Documentation often skipped but critical
    • Prevents "tribal knowledge" problem
    • Essential for troubleshooting
    • Update when making changes

    Post-Implementation Checklist

    Week 1: Monitor Closely

    • Check DebugView daily
    • Review Real-Time reports multiple times per day
    • Test all conversion events manually
    • Watch for errors or anomalies

    Week 2-4: Validation Period

    • Compare data week-over-week for consistency
    • Cross-reference conversions with CRM/sales
    • Verify revenue accuracy (e-commerce)
    • Run test transactions and verify tracking
    • Gather feedback from report users

    Month 2-3: Optimization

    • Refine events based on data value
    • Remove noisy/unused events
    • Add missing conversion events
    • Build additional audiences
    • Create custom explorations for specific questions

    Ongoing: Maintenance

    • Monthly data quality check
    • Quarterly full audit (use our Marketing Data Audit Checklist)
    • Document changes
    • Review and update custom reports
    • Train new team members

    Troubleshooting Common Issues

    No Data Showing in Reports

    Check:

    1. GTM container published (not just saved)?
    2. GA4 tag firing on all pages (use Tag Assistant)?
    3. Measurement ID correct in GTM?
    4. Wait 24-48 hours for standard reports (use Real-Time for immediate validation)
    5. Ad blocker disabled for testing?

    Fix:

    • Republish GTM container
    • Verify Measurement ID
    • Check GTM preview mode

    Events Not Firing

    Check:

    1. Event visible in DebugView?
    2. Trigger conditions correct in GTM?
    3. Page/form actually triggering the event?
    4. JavaScript errors on page preventing dataLayer push?

    Fix:

    • Use GTM Preview mode to debug
    • Check browser console for errors
    • Verify trigger conditions
    • Test in different browsers

    Conversions Not Marked/Showing

    Check:

    1. Event marked as conversion in Admin > Events?
    2. Event has fired at least once in past 24 hours?
    3. Correct event name (case-sensitive)?

    Fix:

    • Wait 24 hours after first event fire, then mark as conversion
    • Verify event name exactly matches

    Revenue Data Wrong

    Check:

    1. Currency correct in purchase event?
    2. Decimal point in right place? (29.99 not 2999)
    3. Revenue field matches total order value?
    4. Transaction ID unique per order?

    Fix:

    • Review e-commerce implementation
    • Check dataLayer values
    • Test with small known transaction amount

    Duplicate Events/Page Views

    Check:

    1. Multiple GA4 tags firing (direct code + GTM)?
    2. Single-page app (SPA) pushing page views manually + automatic?
    3. GTM trigger firing multiple times?

    Fix:

    • Remove duplicate tracking code
    • Disable automatic page_view for SPAs
    • Adjust GTM trigger conditions

    Cross-Domain Tracking Not Working

    Check:

    1. All domains listed in cross-domain settings?
    2. Linker parameter present in URL (check ?_gl=)?
    3. Same GA4 property ID on all domains?

    Fix:

    • Add missing domains
    • Verify GTM linker configuration
    • Test cross-domain navigation in DebugView

    Data Sampling in Reports

    Check:

    1. Large date range or complex exploration?
    2. High-traffic site exceeding thresholds?

    Fix:

    • Reduce date range
    • Simplify query
    • Use BigQuery export for unsampled data
    • Upgrade to GA4 360 (enterprise paid version)

    Frequently Asked Questions

    How long does GA4 implementation take?

    Time estimates:

    • Basic website: 4-6 hours (phases 1-4, 6-7)
    • With e-commerce: 8-12 hours (add phase 5)
    • Complex site: 16-24 hours (multiple domains, custom tracking)

    Factors that increase time:

    • Custom event tracking requirements
    • E-commerce implementation
    • Integration with CRM/marketing automation
    • Legacy UA data migration considerations
    • Custom reporting needs

    Recommendation: Block dedicated time rather than spreading over weeks.


    Should I keep Universal Analytics running while setting up GA4?

    Yes! Run both in parallel during migration.

    Benefits:

    • Compare data to validate GA4 accuracy
    • Maintain historical continuity
    • Fall back to UA if GA4 issues arise
    • Learn GA4 reporting without pressure

    Timeline:

    • Minimum: 1 month parallel tracking
    • Recommended: 3 months
    • Universal Analytics stopped processing data July 1, 2023 (standard) or July 1, 2024 (360)

    Note: If you're reading this after UA sunset, you can't run parallel, but use historical UA data for validation.


    Do I need Google Tag Manager or can I add GA4 code directly?

    GTM is strongly recommended but not required.

    Use GTM if:

    • You want to add/edit tracking without developer dependency
    • You plan to add other marketing tags (Facebook Pixel, etc.)
    • You need custom event tracking
    • You want easier long-term maintenance

    Direct implementation is okay if:

    • Very simple site with minimal tracking needs
    • You have developer resources for all changes
    • You're only using basic page view tracking

    Verdict: 95% of implementations should use GTM.


    How do I migrate historical data from Universal Analytics?

    Short answer: You don't.

    GA4 and UA are different platforms - no direct migration path for historical data.

    Options:

    1. Export UA data to BigQuery or CSV before access is lost
    2. Keep UA property access (read-only) for historical reference
    3. Use Supermetrics or similar to extract UA data to data warehouse
    4. Accept fresh start - Many businesses do this

    Recommendation: Export critical historical data before UA access ends, then start fresh with GA4.


    What's the difference between events and conversions in GA4?

    Events: Any tracked user interaction (page view, click, form submit, etc.) Conversions: Events you've marked as having business value

    Key points:

    • All conversions are events, but not all events are conversions
    • Mark events as conversions in Admin > Events
    • Conversions appear in conversion reports and Google Ads
    • Limit to important events (not every click)

    Example:

    • page_view = event (not conversion)
    • purchase = event marked as conversion
    • form_submit = event marked as conversion

    How many custom events can I create?

    GA4 limits (free version):

    • 500 distinct event names per property
    • 500 total custom dimensions (event + user scoped)
    • 50 custom metrics

    Best practices:

    • Don't approach limits - 20-50 custom events is typical
    • Use event parameters instead of creating many similar events
    • Example: One button_click event with button_name parameter (not separate events per button)

    Can I track across mobile app and website?

    Yes, using App + Web property.

    Setup:

    1. Create GA4 property
    2. Add web data stream (for website)
    3. Add iOS data stream (for iOS app)
    4. Add Android data stream (for Android app)
    5. Implement Firebase SDK in apps
    6. Use same event names across platforms

    Benefits:

    • Unified user view across devices
    • Cross-platform audiences
    • Complete customer journey

    Note: Requires mobile development resources for app implementation.


    How do I handle staging/development environments?

    Option 1: Separate GA4 Properties (Recommended)

    • Create "Company - Production" property for live site
    • Create "Company - Staging" property for dev/staging
    • Use different Measurement IDs
    • Keep test data completely separate

    Option 2: Single Property with Filters

    • Use one property
    • Configure internal traffic filter for dev traffic
    • Filter by hostname (staging.yoursite.com vs. www.yoursite.com)
    • Risk: Harder to fully separate data

    Verdict: Separate properties is cleaner and recommended.


    What reports are different from Universal Analytics?

    Major differences:

    1. No Bounce Rate (replaced with Engagement Rate)
    2. No Views (property level only, use filters/segments instead)
    3. Events are fundamental (not hits/sessions/pageviews hierarchy)
    4. Explorations replace Custom Reports
    5. Machine learning insights (anomaly detection, churn prediction)
    6. Different attribution (data-driven by default)

    Recommendation: Don't try to recreate UA reports exactly. Learn GA4's structure and embrace the differences.


    How do I create goals in GA4?

    GA4 doesn't have "goals" - it has "conversions."

    To create a conversion:

    1. Create/implement an event for the goal action
    2. Wait 24 hours for event to appear in Admin > Events
    3. Toggle "Mark as conversion" on the event
    4. Event now appears in conversions reports

    Migrating UA goals:

    • Map each UA goal to a GA4 event
    • Implement the event
    • Mark as conversion
    • No automatic migration

    Can I exclude internal traffic after data is collected?

    No - exclusion happens at collection time, not retroactively.

    Best practices:

    1. Set up internal traffic filter BEFORE going live
    2. Use "Test" data filter state initially (tags but doesn't exclude)
    3. Verify internal traffic is tagged correctly
    4. Switch filter to "Active" to actually exclude
    5. Can't remove already-collected internal traffic from reports

    Lesson: Set up filters early!


    Next Steps After Implementation

    Immediate (First Week)

    1. Monitor Real-Time and DebugView daily
    2. Test all conversion events manually
    3. Verify data appearing in standard reports
    4. Share access with key stakeholders

    Short-Term (First Month)

    1. Create custom explorations for key questions
    2. Build audiences for remarketing
    3. Set up automated reporting (Looker Studio)
    4. Train team on GA4 interface

    Medium-Term (First Quarter)

    1. Validate data accuracy against other systems
    2. Optimize event tracking (remove noise, add gaps)
    3. Analyze user journeys and optimize UX
    4. Iterate on reports based on stakeholder feedback

    Long-Term (Ongoing)

    1. Quarterly data quality audits
    2. Expand custom tracking as needs evolve
    3. Leverage machine learning insights
    4. Advanced analysis (cohorts, predictive metrics)
    5. BigQuery integration for advanced analytics

    Download Your Checklist

    What You'll Get

    Download the complete GA4 Implementation Checklist package:

    • Printable PDF checklist - All 58 checkpoints with checkboxes
    • Excel/Google Sheets tracker - Track progress, assign owners, note issues
    • GTM container template - Pre-configured tags for common events
    • Event naming spreadsheet - Plan and document your events
    • Video walkthrough series - Step-by-step implementation guide (3 hours)
    • Troubleshooting guide - Solutions to common implementation issues

    Bonus Resources Included

    • UA to GA4 event mapping template - Migrate your goals
    • GA4 vs UA comparison guide - Understand the differences
    • Looker Studio dashboard template - Pre-built reports
    • Weekly office hours invitation - Get help from experts

    Ready to Implement GA4 the Right Way?

    Stop worrying about missing data or broken tracking. Download the GA4 Implementation Checklist and set up Google Analytics 4 with confidence.

    [Download Free Checklist]

    What happens next:

    1. Instant download of implementation package
    2. Email course: "GA4 Implementation in 7 Days" (daily lessons)
    3. Access to GA4 implementation community
    4. Invitation to live Q&A sessions

    Questions about GA4 implementation? Book a free 30-minute consultation with our analytics team, or explore our GA4 guides for more resources.

    Want AI-powered automation?

    See how Cogny can automate your marketing analytics

    Schedule Demo