Back to Resources
    checklist

    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:

    • Google Account with appropriate permissions
    • Website access - Ability to add code to your site (direct or via developer)
    • Google Tag Manager - Strongly recommended (or ability to edit site code directly)
    • Conversion goals defined - Know what actions you want to track
    • 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:

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

    • Go to Admin > Property > Property Access Management
    • Click "+" to add users
    • Enter email addresses and select role:

    Action: Grant access to team members - 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)

    • Create GTM account and container at tagmanager.google.com
    • Copy container code snippet
    • Add container code to every page:

    Action: Add GTM container to your website - 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

    • Visit your website
    • Open GA4 > Reports > Real-time
    • Verify you see:

    Action: Confirm data is flowing to GA4 - 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

    • If no data after 5 minutes, check:

    Notes: - 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)

    • In GA4 Admin > Property > Data Streams > [stream] > Configure tag settings
    • Scroll to "Configure your domains"
    • Add all domains that should share user sessions:

    Action: Set up cross-domain tracking for multiple domains - 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

    • Go to Admin > Property > Data Streams > [stream] > Configure tag settings
    • Scroll to "More tagging settings" > "List unwanted referrals"
    • Add domains to exclude:

    Action: Exclude your own domains and payment processors from referral traffic - 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

    • Review GA4 documentation on automatic events:

    Action: Understand which events are automatically tracked - `pageview` - Automatically collected - `sessionstart - Automatically collected - firstvisit` - Automatically collected - `userengagement` - 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

    • Create event naming plan spreadsheet
    • List each event with:

    Action: Document all custom events you need to track - Event name (e.g., `generatelead`, `signup, 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)
    • `addtocart` - Cart additions
    • begin_checkout - Checkout start
    • purchase - Transactions
    • Custom events specific to your business

    ---

    3.3 Create Form Submission Event

    • In GTM, create new trigger:
    • Create new tag:

    Action: Track form submissions as events - 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" - Type: GA4 Event - Name: "GA4 - Form Submit" - Configuration Tag: Select your GA4 config tag - Event Name: `generatelead` or `formsubmit` - Event Parameters (optional): - formid: {{Form ID}} - formname: {{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

    • In GTM, create trigger:
    • Create tag:

    Action: Track important button clicks - Type: Click - All Elements - Name: "Click - CTA Button" - Fire on: Some Clicks - Condition: Click Text contains "Get Started" (or appropriate selector) - Type: GA4 Event - Name: "GA4 - CTA Click" - Event Name: `clickcta` or `buttonclick` - Parameters: - buttontext: {{Click Text}} - buttonlocation: {{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

    • Usually auto-tracked if Enhanced Measurement enabled (see Phase 4)
    • If custom tracking needed:

    Action: Track clicks to external websites - GTM trigger: Click - All Elements - Fire on: Click URL does NOT contain yoursite.com - Tag: GA4 Event - Event name: click (standard) or `outboundclick` - Parameters: `linkurl: {{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

    • Usually auto-tracked if Enhanced Measurement enabled
    • If custom tracking needed:

    Action: Track downloads of PDFs, docs, etc. - GTM trigger: Click - All Elements - Fire on: Click URL matches RegEx \.(pdf|doc|docx|xls|xlsx|zip)$ - Tag: GA4 Event - Event name: `filedownload` (standard) - Parameters: `filename: {{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)

    • Usually auto-tracked if Enhanced Measurement enabled (YouTube only)
    • For custom video players:

    Action: Track YouTube video engagement - Requires JavaScript to track play, pause, completion - Push to dataLayer on video events - GTM trigger on dataLayer event - GA4 event tag: `videostart`, `videoprogress, 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

    • Go to Admin > Property > Events
    • Wait for your events to appear (may take 24 hours after first event fire)
    • Toggle "Mark as conversion" for:

    Action: Designate important events as conversions - `generatelead` (form submissions) - `purchase` (e-commerce) - `signup` (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)

    • In GTM, when creating event tags:
    • Common parameters:

    Action: Add custom parameters to capture additional context - Add Event Parameters - Parameter name: customparametername - Value: {{Variable}} or static value - value - Monetary value (for conversions) - currency - Currency code (USD, EUR) - `usertype` - Customer segment - `contentcategory` - 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)

    • Go to Admin > Property > Custom Definitions > Create Custom Dimension
    • For each custom parameter you want in reports:

    Action: Register custom parameters as dimensions for reporting - 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

    • Go to Admin > Property > Data Streams > [your stream]
    • Click "Enhanced measurement" gear icon
    • Review each option:

    Action: Audit what Enhanced Measurement is tracking - 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 `viewsearchresults` 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
    • `fileextension` and `filename` 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
    • `linkdomain` and `linkurl` 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 `videotitle`, `videourl, 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

    • Review each toggle in Enhanced Measurement
    • Disable any that:

    Action: Turn off enhanced measurement events you don't need - 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

    • Determine which events to track:

    Action: Document e-commerce tracking requirements - `viewitem` - Product detail views - `addtocart` - Items added to cart - `removefromcart` - Items removed - `viewcart - Cart page views - begincheckout` - Checkout initiated - `addpaymentinfo` - Payment method added - `addshipping_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 `viewitem` - Tag: GA4 Event `viewitem` - 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 `addtocart` event
    • Publish

    Verify:

    • Add product to cart
    • DebugView shows `addtocart` 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

    • Run test transactions (multiple)
    • Wait 24-48 hours for reports to populate
    • Compare:

    Action: Confirm revenue in GA4 matches actual sales - 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

    • Go to Admin > Property > Audiences
    • Click "New Audience"
    • Create these starter audiences:

    Action: Build foundational audiences for remarketing 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 `userid` - In GA4 Config tag, Fields to Set: `userid` = {{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)

    • Common user properties:
    • In GTM, add to GA4 Config tag:

    Action: Define user-level properties for segmentation - Customer status (lead, customer, VIP) - Account type (free, paid, enterprise) - First order date - Lifetime value tier - 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

    • Go to Explore
    • Select "Path Exploration" template
    • Configure:

    Action: Build exploration to analyze user journeys - 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

    • Open Reports section
    • Navigate through:

    Action: Familiarize yourself with GA4 report structure - 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

    • Go to Reports > Overview
    • Click "Customize report" (pencil icon)
    • Add cards for:

    Action: Add important reports to overview page - 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

    • Currently GA4 doesn't have annotation feature (!)
    • Workaround: Maintain external changelog
    • Create spreadsheet or doc with:

    Action: Add annotations for major site changes - 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

    • Go to Admin > Property > Attribution Settings
    • Review:

    Action: Review and set attribution model - 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

    • Compare GA4 to other sources:

    Action: Comprehensive data validation check - 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

    • Use Data Studio/Looker Studio or manual template
    • Include:

    Action: Build standardized monthly report - 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

    • Document in wiki, Google Docs, or similar:

    Action: Create comprehensive documentation - 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:

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

    Fix:

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

    ---

    Events Not Firing

    Check:

    • Event visible in DebugView?
    • Trigger conditions correct in GTM?
    • Page/form actually triggering the event?
    • 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:

    • Event marked as conversion in Admin > Events?
    • Event has fired at least once in past 24 hours?
    • 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:

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

    Fix:

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

    ---

    Duplicate Events/Page Views

    Check:

    • Multiple GA4 tags firing (direct code + GTM)?
    • Single-page app (SPA) pushing page views manually + automatic?
    • 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:

    • All domains listed in cross-domain settings?
    • Linker parameter present in URL (check ?_gl=)?
    • 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:

    • Large date range or complex exploration?
    • 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:

    • Export UA data to BigQuery or CSV before access is lost
    • Keep UA property access (read-only) for historical reference
    • Use Supermetrics or similar to extract UA data to data warehouse
    • 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 `buttonclick` event with `buttonname` parameter (not separate events per button)

    ---

    Can I track across mobile app and website?

    Yes, using App + Web property.

    Setup:

    • Create GA4 property
    • Add web data stream (for website)
    • Add iOS data stream (for iOS app)
    • Add Android data stream (for Android app)
    • Implement Firebase SDK in apps
    • 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:

    • No Bounce Rate (replaced with Engagement Rate)
    • No Views (property level only, use filters/segments instead)
    • Events are fundamental (not hits/sessions/pageviews hierarchy)
    • Explorations replace Custom Reports
    • Machine learning insights (anomaly detection, churn prediction)
    • 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:

    • Create/implement an event for the goal action
    • Wait 24 hours for event to appear in Admin > Events
    • Toggle "Mark as conversion" on the event
    • 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:

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

    Lesson: Set up filters early!

    ---

    Next Steps After Implementation

    Immediate (First Week)

    • Monitor Real-Time and DebugView daily
    • Test all conversion events manually
    • Verify data appearing in standard reports
    • Share access with key stakeholders

    Short-Term (First Month)

    • Create custom explorations for key questions
    • Build audiences for remarketing
    • Set up automated reporting (Looker Studio)
    • Train team on GA4 interface

    Medium-Term (First Quarter)

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

    Long-Term (Ongoing)

    • Quarterly data quality audits
    • Expand custom tracking as needs evolve
    • Leverage machine learning insights
    • Advanced analysis (cohorts, predictive metrics)
    • 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:

    • Instant download of implementation package
    • Email course: "GA4 Implementation in 7 Days" (daily lessons)
    • Access to GA4 implementation community
    • 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