PayPerChampsPayPerChamps
Services
Industries
Portfolio
Resources
PricingAbout
PayPerChampsPayPerChamps

A performance marketing agency specializing in paid advertising, feed management, and tracking & analytics.

contact@payperchamps.ro+40 749 310 704

Services

  • Google Ads
  • Meta Ads
  • Feed Management
  • Tracking & Analytics
  • SEO

Company

  • About
  • Portfolio
  • Contact
  • Pricing

Resources

  • Blog & Guides
  • Marketing Glossary
  • ROI Calculator

© 2026 PayPerChamps. All rights reserved.

Privacy PolicyTerms & ConditionsCookie Policy
Analytics charts and data
BlogTracking & AnalyticsGA4 Implementation: Step-by-Step Guide to Proper Tracking
Tracking & Analytics

GA4 Implementation: Step-by-Step Guide to Proper Tracking

January 5, 202611 minby Péter Szamosán
Analytics charts and data

Why Proper Tracking Is Your Most Valuable Digital Asset

Every euro invested in online advertising generates data. That data tells you what's working, what isn't, and where to invest more. But only if tracking is implemented correctly.

The reality is concerning: we estimate that over 60% of sites running paid advertising have tracking issues. That means decisions based on incorrect data — the equivalent of a pilot flying with broken instruments.

Google Analytics 4 (GA4) is Google's standard analytics platform, which fully replaced Universal Analytics in July 2023. GA4 works fundamentally differently from its predecessor: it's event-based, not session-based. This model provides a much clearer picture of user behavior but requires careful implementation.

In this guide, we walk through every step of GA4 implementation, from creating the property to configuring advanced e-commerce tracking.

GA4 vs Universal Analytics: What Changed

If you used Universal Analytics, GA4 can feel confusing at first. Here are the fundamental differences:

AspectUniversal AnalyticsGA4
Data modelSessions and pageviewsEvents
Cross-platform trackingLimitedNative (web + app)
Machine LearningMinimalPredictive audiences, anomaly detection
Data retentionUnlimited2 or 14 months (user-level data)
ReportsPredefined (100+)Customizable (Explorations)
ConversionsGoals (limited to 20)Any event marked as conversion (30 per property)
CookiesDependent on third-party cookiesDesigned for a cookieless future
AttributionLast-click (default)Data-driven (default)

Key takeaways

  • GA4 is not just an upgrade — it's an entirely new platform
  • Data from Universal Analytics does not transfer to GA4
  • Reports look different, and some metrics (e.g., bounce rate) have changed
  • GA4 is more powerful but requires more careful configuration

Step 1: Creating the GA4 Property

Creating a new account

  1. Go to analytics.google.com
  2. Click Admin (gear icon, bottom left)
  3. Click Create Property
  4. Fill in:
    • Property name: Your site name (e.g., "MyStore.com - Production")
    • Reporting time zone: Your local timezone
    • Currency: EUR or your primary currency
  5. Complete the business information (industry, size)
  6. Select your objectives (Generate leads, Drive online sales, etc.)

Creating the Data Stream

The Data Stream is the connection between your website and GA4.

  1. In the Data Streams section, choose Web
  2. Enter your website URL (e.g., https://mystore.com)
  3. Name the stream (e.g., "MyStore.com - Web")
  4. Enhanced Measurement — leave enabled, it includes:
    • Page views
    • Scrolls
    • Outbound clicks
    • Site search
    • Video engagement
    • File downloads
  5. Note the Measurement ID (format: G-XXXXXXXXXX)

Important: Enhanced Measurement automatically collects several interaction types, but it's not sufficient for complete tracking. Custom events and e-commerce tracking must be configured separately.

Step 2: Installing GA4 with Google Tag Manager

While you can install GA4 directly with a code snippet, we always recommend Google Tag Manager (GTM). GTM provides flexibility, control, and the ability to add or modify tags without changing your site's code.

Setting up GTM

If you don't have GTM installed yet:

  1. Go to tagmanager.google.com
  2. Create an account and a container (Web)
  3. Install both code snippets on your site:
    • The head snippet — as high as possible in the page's head section
    • The body snippet — immediately after the opening body tag

If you already have GTM installed, skip to the next step.

Creating the GA4 tag in GTM

  1. In GTM, go to Tags > New
  2. Choose Google Analytics: GA4 Configuration (or Google Tag in recent versions)
  3. Enter the Measurement ID (G-XXXXXXXXXX)
  4. Trigger: All Pages
  5. Save, test in Preview Mode, then publish

Verification

After publishing:

  • Open your site in a private tab
  • In GA4, go to Admin > DebugView or Realtime
  • You should see page_view, session_start, and first_visit events

Step 3: Configuring Custom Events

GA4 runs on events. Everything is an event: a page view, a button click, a transaction. According to the official GA4 event configuration documentation, there are four types of events:

GA4 event types

  1. Automatically collected events — collected without configuration (session_start, first_visit, page_view)
  2. Enhanced Measurement events — activated in the Data Stream (scroll, outbound_click, file_download)
  3. Recommended events — defined by Google with standard names and parameters (purchase, add_to_cart, sign_up)
  4. Custom events — your own events for actions specific to your business

Recommended events you should implement

EventDescriptionWhen it fires
generate_leadA new leadContact form completed
sign_upAccount registrationNew account created
loginAuthenticationUser logs in
view_itemProduct viewProduct page opened
add_to_cartAdded to cartProduct added to cart
begin_checkoutCheckout startedUser enters checkout
purchasePurchase completedOrder placed successfully
searchSite searchUser uses internal search

Example: Tracking a contact form with GTM

  1. Create a Trigger:

    • Type: Form Submission
    • Condition: Page Path contains "/contact" (or Form ID = "contact-form")
  2. Create a Tag:

    • Type: GA4 Event
    • Configuration Tag: the GA4 tag created earlier
    • Event Name: generate_lead
    • Parameters:
      • form_name: "Contact Form"
      • form_location: GTM variable Page Path
  3. Test in GTM Preview Mode, then publish

Step 4: Configuring Conversions

In GA4, any event can be marked as a conversion. But not every event should be — only mark actions with real business value.

How to mark an event as a conversion

  1. Go to Admin > Conversions (or Key Events)
  2. Click New conversion event
  3. Enter the exact event name (e.g., generate_lead, purchase)

Recommended conversions by business type

E-commerce:

  • purchase — completed purchase (value: order total)
  • add_to_cart — added to cart
  • begin_checkout — checkout started

Services / Lead Generation:

  • generate_lead — form completed
  • phone_call — phone call (with Call Tracking)
  • schedule_appointment — appointment booked

SaaS / Applications:

  • sign_up — account registration
  • subscription_purchase — paid subscription
  • trial_start — trial period started

Importing conversions into Google Ads

For Google Ads campaigns to optimize correctly, GA4 conversions must be imported into Google Ads:

  1. Connect GA4 with Google Ads:

    • GA4: Admin > Google Ads Links > Link
    • Select the Google Ads account
  2. Import conversions:

    • Google Ads: Tools > Conversions > New conversion action > Import > Google Analytics 4
    • Select relevant conversions (purchase, generate_lead)
  3. Set conversion action:

    • Primary / Secondary — Primary for main conversions (purchase), Secondary for informational ones (add_to_cart)
    • Attribution model: Data-driven (recommended)
    • Conversion window: 30 or 90 days

Step 5: E-commerce Tracking in GA4

E-commerce tracking is the most complex but also the most valuable type of implementation. It allows you to track the entire user journey from product view to purchase.

E-commerce events (in order)

view_item_list → view_item → add_to_cart → begin_checkout → add_shipping_info → add_payment_info → purchase

Data structure for the purchase event

Each e-commerce event must contain specific parameters. Here's the structure for the most important one — purchase:

dataLayer.push({
  event: "purchase",
  ecommerce: {
    transaction_id: "T-12345",
    value: 249.99,
    tax: 47.50,
    shipping: 15.00,
    currency: "EUR",
    items: [
      {
        item_id: "SKU-001",
        item_name: "Nike Dri-FIT Sport Tee",
        item_brand: "Nike",
        item_category: "Clothing",
        item_category2: "T-Shirts",
        price: 179.99,
        quantity: 1,
        discount: 0
      },
      {
        item_id: "SKU-002",
        item_name: "Adidas Running Socks",
        item_brand: "Adidas",
        item_category: "Accessories",
        item_category2: "Socks",
        price: 55.00,
        quantity: 1,
        discount: 0
      }
    ]
  }
});

Implementation with GTM

  1. DataLayer push on the order confirmation page (the code above)
  2. Trigger in GTM: Custom Event = "purchase"
  3. GA4 Event Tag:
    • Event name: purchase
    • E-commerce parameters pulled from the DataLayer
    • Enable the "Send Ecommerce data" checkbox

Watch out for deduplication: Make sure the purchase event fires only once per order. If the user reloads the confirmation page, the order should not be recorded again. Use transaction_id for deduplication.

Step 6: DebugView and Implementation Verification

The biggest mistake you can make is assuming tracking works without verifying. GA4 provides several debugging tools:

DebugView (GA4)

  1. Enable GA4 DebugView: Admin > DebugView
  2. Install the Google Analytics Debugger Chrome extension
  3. Navigate your site and watch events in real time
  4. Verify each event: parameters, values, order

GTM Preview Mode

  1. In GTM, click Preview
  2. Enter your site URL
  3. Navigate and verify:
    • Which tags fire on each page
    • Which triggers are activated
    • What data is sent to the DataLayer

Google Tag Assistant

  • Chrome extension that verifies whether tags are installed correctly
  • Shows errors and warnings at page level
  • Useful for a quick check

Verification checklist

  • page_view fires on every page
  • session_start appears on first visit
  • Enhanced Measurement events work (scroll, outbound_click)
  • Forms are tracked (generate_lead or custom event)
  • E-commerce events fire in the correct order
  • purchase has correct transaction_id, value, and currency
  • Conversions appear in GA4 > Conversions
  • GA4 data syncs with Google Ads

Step 7: Essential Reports in GA4

After implementation, you need to know where to find the important data.

Standard reports

  • Realtime — what's happening on your site right now
  • Acquisition > Traffic acquisition — where traffic comes from (Organic, Paid, Social, Direct)
  • Engagement > Pages and screens — most visited pages
  • Monetization > Ecommerce purchases — sales report (if you have e-commerce tracking)
  • Retention — how many users return to your site

Explorations (Custom reports)

GA4 Explorations are advanced reports you build from scratch:

  • Funnel Exploration — visualize the user journey through conversion stages
  • Path Exploration — see the paths users take on your site
  • Segment Overlap — compare different audience segments
  • Cohort Analysis — analyze user group behavior over time

The most important report: Funnel Exploration

Create a funnel with these steps:

  1. session_start → 2. view_item → 3. add_to_cart → 4. begin_checkout → 5. purchase

This funnel shows you exactly where you're losing users and where you need to optimize.

Common Implementation Mistakes

1. Double tracking

The GA4 tag is installed both in the source code and in GTM. Result: all data is doubled. Check for and eliminate duplicates.

2. Missing filters

Internal traffic (from your team) isn't filtered. Result: polluted data. Solution: create an IP filter in GA4 (Admin > Data Streams > Configure Tag Settings > Define Internal Traffic).

3. Missing referral exclusions

Payment processors (Stripe, PayPal) appear as traffic sources. Solution: add them to the referral exclusion list (Admin > Data Streams > Configure Tag Settings > List unwanted referrals).

4. Missing cross-domain tracking

If you have multiple domains (e.g., store.com and checkout.store.com), users appear as new when moving between domains. Solution: configure cross-domain tracking in GTM.

5. Enhanced Conversions not activated

Enhanced Conversions send hashed data (email, phone) to Google for more precise attribution. Without them, you lose conversion data, especially on iOS. Activate them in Google Ads > Conversions > Settings.

When to Call in Specialists

Implementing GA4 for a simple site with a contact form is feasible in-house. But if you have:

  • E-commerce with hundreds or thousands of products and complex tracking
  • Multiple domains or subdomains
  • A mobile app alongside your website
  • CRM integrations (Salesforce, HubSpot) that need GA4 data
  • Need for server-side tracking for more precise data

...then a professional implementation saves you months of incorrect data.

The PayPerChamps tracking and analytics team provides complete GA4 implementations, from audit to configuration, testing, and documentation. We work with Google Tag Manager Server-Side for more precise data and GDPR compliance using Google Consent Mode.

Conclusion

GA4 is a powerful platform, but only if implemented correctly. Wrong data leads to wrong decisions, and wrong decisions lead to wasted budgets.

Investing in proper tracking pays for itself quickly: Google Ads and Meta Ads campaigns optimize better, you understand what works on your site, and you make decisions based on reality, not assumptions.

Want a tracking audit? The PayPerChamps team can verify your GA4 implementation and identify errors affecting your data. Contact us for a free analysis.

Want better campaign performance?

Our PPC specialists can help you get more from your ad budget.

Get Your Free PPC Audit