Google Analytics 4 has become the default ecommerce tracking solution for millions of online stores. Yet for many marketing data teams, implementing GA4 ecommerce correctly still means weeks of manual event setup, fragmented data sources, and unreliable attribution. As of August 25, 2025, Google expanded ecommerce functionality across all property types without requiring configuration changes—but the core implementation challenges remain.
This guide walks through every step: setting up GA4 ecommerce tracking, configuring events and parameters, connecting external data sources, and building dashboards that actually help you make decisions. You'll learn the technical requirements, common mistakes that break attribution, and how automation platforms eliminate the manual work that slows most teams down.
Key Takeaways
✓ Google Analytics 4 ecommerce tracking requires proper event structure, item-scoped dimensions, and data layer configuration to work correctly.
✓ Item-scoped dimensions and metrics became available in reporting, secondary dimensions, filters, and customization as of August 25, 2025—previously they were restricted.
✓ Manual tagging breaks at scale: missing parameters, inconsistent naming, and platform API changes create attribution gaps that compound over time.
✓ Modern ecommerce analytics requires data from multiple platforms—ad networks, CRMs, email tools, attribution systems—that GA4 doesn't connect to natively.
✓ Automated data pipelines eliminate 38 hours per week of manual reporting work while ensuring governed, reliable data reaches dashboards in real time.
✓ Independent conversion attribution settings per conversion launched in beta on January 16, 2026, allowing teams to apply different attribution models to different goals.
What Is Google Ecommerce Analytics
Google ecommerce analytics refers to the measurement framework inside Google Analytics 4 that tracks product interactions, transactions, and revenue. Unlike Universal Analytics (which sunset in July 2023), GA4 uses an event-based data model where every user action—viewing a product, adding to cart, initiating checkout, completing purchase—fires as a discrete event with structured parameters.
The system tracks item-level details: product ID, name, category, price, quantity, discount, coupon codes, shipping costs, and tax. When implemented correctly, you can answer questions like "Which products drive the highest average order value from paid social?" or "At what stage of the funnel do customers from organic search drop off?" without exporting data to spreadsheets.
What makes this difficult: GA4 requires you to send events in a specific structure using either gtag.js, Google Tag Manager, or the Measurement Protocol. If your event parameters don't match Google's schema, the data won't populate reports. If your data layer isn't configured correctly, events won't fire at all. And if you're running campaigns across multiple platforms—Meta, Google Ads, TikTok, LinkedIn—GA4 only sees what happens on your website. You still need to connect ad spend, impression data, and CRM records separately.
Why Ecommerce Tracking Matters for Marketing Data Teams
Accurate ecommerce tracking determines whether your attribution models reflect reality or fiction. When events fire inconsistently—or when parameters are missing—your reports show the wrong top-performing channels, the wrong customer acquisition costs, and the wrong ROAS calculations. Budgets get allocated to underperforming campaigns because the data told you they converted when they didn't.
Three specific problems break attribution at scale:
• Manual tagging errors: A marketer forgets to add UTM parameters to a campaign URL. GA4 attributes those conversions to "direct" instead of the actual paid channel. Multiply this across dozens of campaigns per month.
• Platform API changes: Google, Meta, or your ecommerce platform updates their API. Your custom scripts break. Data stops flowing. You don't notice for three weeks because nobody monitors the pipeline daily.
• Siloed data sources: GA4 shows website behavior. Your ad platforms show spend and impressions. Your CRM shows lead quality. Salesforce shows closed revenue. No single system connects them, so you build manual reports in spreadsheets every week.
The result: marketing data analysts spend more time fixing data than analyzing it. 89% of companies implementing AI personalization report positive ROI, but you can't personalize effectively if your data foundation is broken.
Step 1: Set Up Your GA4 Property and Enable Ecommerce
If you haven't created a GA4 property yet, navigate to the Google Analytics admin panel and click "Create Property." Name it, select your reporting time zone and currency, then click through the setup wizard. Google automatically enables ecommerce measurement for all new properties—there's no separate toggle to activate.
Verify Your Data Stream Configuration
Under Admin → Data Streams, confirm your website stream exists and shows your correct domain. Click into the stream and verify the Measurement ID (starts with G-). This ID goes into every page's tracking code. If you're using Google Tag Manager, you'll reference this ID in your GA4 Configuration tag.
Check that Enhanced Measurement is enabled. This setting automatically tracks page views, scrolls, outbound clicks, site search, video engagement, and file downloads without additional code. For ecommerce, you'll still need to manually implement purchase events and product interaction events—Enhanced Measurement doesn't cover those.
Enable Google Signals for Cross-Device Tracking
Navigate to Admin → Data Settings → Data Collection. Turn on Google Signals. This allows GA4 to track signed-in users across devices (desktop, mobile, tablet) when they're logged into a Google account. For ecommerce, this means more accurate customer journey reporting when someone browses on mobile but purchases on desktop.
Note the privacy trade-off: enabling Google Signals may trigger thresholding in reports when user counts fall below Google's anonymity threshold. You'll see "(not set)" in dimensions where data would otherwise appear. For most ecommerce sites, the cross-device visibility outweighs the occasional thresholding.
Step 2: Implement Required Ecommerce Events
GA4 ecommerce tracking requires you to send specific events at specific moments in the customer journey. Google defines a standard set of event names and parameters. If you use non-standard names, your data won't populate the built-in ecommerce reports.
The Six Core Ecommerce Events
| Event Name | When to Fire | Required Parameters |
|---|---|---|
view_item |
User views a product detail page | items (array of item objects) |
add_to_cart |
User clicks "Add to Cart" | items, currency, value |
begin_checkout |
User lands on checkout page | items, currency, value |
add_payment_info |
User enters payment method | items, currency, value, payment_type |
add_shipping_info |
User enters shipping address | items, currency, value, shipping_tier |
purchase |
Order confirmation page loads | transaction_id, items, currency, value, tax, shipping |
Each event requires an items array. Each item object must include:
• item_id — your product SKU or unique identifier
• item_name — product name as it appears on your site
• price — unit price (numeric, no currency symbol)
• quantity — number of units
Optional but recommended parameters: item_brand, item_category, item_category2, item_category3, item_category4, item_variant (size, color, etc.), item_list_name (which list the item appeared in), item_list_id, index (position in the list).
Example: Sending a Purchase Event with gtag.js
Place this code on your order confirmation page, dynamically populated with real transaction data from your backend:
gtag('event', 'purchase', {
transaction_id: 'T_12345',
value: 157.98,
tax: 12.48,
shipping: 5.50,
currency: 'USD',
coupon: 'SUMMER_FUN',
items: [
{
item_id: 'SKU_001',
item_name: 'Blue Running Shoes',
item_brand: 'SportCo',
item_category: 'Footwear',
item_variant: 'Size 10',
price: 89.99,
quantity: 1
},
{
item_id: 'SKU_045',
item_name: 'Performance Socks (3-pack)',
item_brand: 'SportCo',
item_category: 'Accessories',
price: 19.99,
quantity: 2
}
]
});
Critical rule: the transaction_id must be unique per order. If you send the same transaction_id twice—for example, if a customer refreshes the confirmation page—GA4 deduplicates the event automatically within a 24-hour window. After 24 hours, it counts as a separate purchase. Always generate transaction_id server-side from your order system.
Step 3: Configure Google Tag Manager for Event Automation
Hardcoding gtag events into your website works for small sites, but it doesn't scale. Every new event requires a developer to edit code, test, and deploy. If your ecommerce platform doesn't expose transaction data in a structured format, you can't fire events correctly. Google Tag Manager (GTM) solves this by letting marketers configure events through a UI without touching code.
Set Up Your Data Layer
The data layer is a JavaScript object that holds structured information about the page, user, and products. Your development team pushes data into the data layer at key moments—page load, add-to-cart click, checkout step completion. GTM reads from the data layer and fires tags based on triggers you define.
Example data layer push for an add-to-cart event:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'add_to_cart',
ecommerce: {
currency: 'USD',
value: 89.99,
items: [{
item_id: 'SKU_001',
item_name: 'Blue Running Shoes',
item_brand: 'SportCo',
item_category: 'Footwear',
item_variant: 'Size 10',
price: 89.99,
quantity: 1
}]
}
});
Once your data layer is in place, create a GTM trigger that listens for the custom event name (add_to_cart in this example). Attach a GA4 Event tag to that trigger. Map the data layer variables to GA4's expected event parameters using GTM's variable system.
Test Events in GTM Preview Mode
Before publishing, click Preview in GTM. This opens your site in debug mode with a Tag Assistant panel. Navigate through the purchase funnel: view a product, add it to cart, proceed to checkout, complete a test purchase. For each action, verify that:
• The correct trigger fires
• The GA4 Event tag fires
• The event parameters match your data layer structure
• No JavaScript errors appear in the browser console
Common failure points: the data layer push fires after the GTM container loads, so GTM never sees the event. Solution: ensure your data layer code executes before the GTM snippet, or use a custom event to signal when data is ready.
- →You spend 10+ hours per week exporting CSVs from ad platforms and manually joining them with GA4 data in spreadsheets
- →Your dashboards show conflicting revenue numbers because GA4, Shopify, and Salesforce don't reconcile
- →Platform API changes break your custom scripts every quarter, and nobody notices until stakeholders ask why conversions dropped to zero
- →You can't calculate accurate ROAS because GA4 doesn't import Meta or LinkedIn cost data automatically
- →Your team argues about attribution because GA4's last-click model credits the wrong channels and undermines your budget decisions
Step 4: Verify Data in GA4 Reports
After implementing events, confirm they appear in GA4. Navigate to Reports → Realtime. Perform a test action on your site—view a product, add to cart, complete checkout. Within seconds, the event should appear in the Realtime report's Event count section.
Check the Ecommerce Purchases Report
Navigate to Reports → Monetization → Ecommerce Purchases. This report shows transaction data: transaction count, revenue, average purchase revenue, items purchased, and item revenue. If you see "(not set)" in the Item name column, your items array isn't structured correctly—revisit your data layer code.
Drill into individual transactions by adding transaction_id as a secondary dimension. Verify that each transaction shows the correct revenue, tax, and shipping values. If revenue is zero, check that your value parameter is a number, not a string.
Validate Item-Scoped Dimensions
As of August 25, 2025, GA4 allows item-scoped dimensions and metrics in standard reports, secondary dimensions, and filters. Navigate to Reports → Monetization → Overview, then click Customize Report. Add Item brand and Item category as dimensions. Apply a filter to show only transactions where Item category contains "Footwear." If the filter returns no results but you know footwear transactions exist, your item_category parameter isn't populating—check your event code.
Step 5: Connect External Data Sources
GA4 tracks on-site behavior, but it doesn't import ad spend, CRM data, or email engagement automatically. To calculate accurate ROAS, you need to join GA4 conversion data with cost data from Google Ads, Meta Ads, LinkedIn, TikTok, and other platforms. To understand customer lifetime value, you need to join GA4 user data with CRM records from Salesforce or HubSpot.
The Manual Approach: Data Import and CSV Uploads
GA4 supports Data Import for cost data and user data. You export CSVs from each ad platform, format them according to GA4's schema requirements, then upload them via the Admin panel. Google matches the imported data to GA4 events using keys like campaign name, user ID, or product ID.
This works for small teams running a handful of campaigns. It breaks when you're managing 50+ campaigns across six platforms. Reasons:
• You have to export, transform, and upload CSVs manually every week
• Platform APIs change—column names shift, new fields appear, deprecated fields disappear—and your import schema breaks
• GA4's Data Import has size limits: 1 GB per file, 100 MB for user data uploads
• Latency: even after uploading, imported data takes 24–48 hours to appear in reports
The Automated Approach: Unified Data Pipelines
Modern marketing data platforms connect directly to platform APIs, extract data in real time, transform it into a standard schema, and load it into a data warehouse or BI tool. You configure the connection once. After that, data flows automatically. When Meta's API updates, the platform adapts without requiring you to rewrite extraction scripts.
Improvado connects to 1,000+ data sources—Google Ads, Meta, LinkedIn, TikTok, Salesforce, HubSpot, Shopify, BigCommerce, Amazon Seller Central, and hundreds more. It normalizes naming conventions across platforms (Meta calls it "campaign_name," Google calls it "campaign," LinkedIn calls it "campaignName"—Improvado maps all three to a single campaign field). The platform applies 250+ pre-built data governance rules: budget overrun alerts, duplicate transaction detection, missing UTM parameter flags, anomaly detection when conversion rates drop unexpectedly.
Data reaches your warehouse or BI tool in minutes, not days. Teams using Improvado report saving 38 hours per analyst per week—time previously spent on manual exports, data cleaning, and fixing broken reports.
Step 6: Build Dashboards That Actually Help You Make Decisions
Raw GA4 reports answer specific questions—"How many purchases happened yesterday?" or "Which product category drove the most revenue this month?"—but they don't tell you what to do. Effective dashboards synthesize data from multiple sources and surface insights that drive action.
Dashboard 1: ROAS by Channel
Combine GA4 conversion data with ad spend from Google Ads, Meta, LinkedIn, and TikTok. Calculate ROAS as (Revenue ÷ Spend) × 100. Display as a bar chart with channels on the x-axis and ROAS percentage on the y-axis. Add a goal line at your target ROAS (typically 300–400% for ecommerce).
Include these dimensions:
• Channel (Paid Search, Paid Social, Display, Affiliate, Email)
• Campaign name
• Date range with week-over-week and month-over-month comparison
• Conversion lag (days between click and purchase)
Actionable insight: if Meta ROAS drops below target for two consecutive weeks, reduce Meta budget by 20% and reallocate to the top-performing channel.
Dashboard 2: Funnel Conversion Rates by Traffic Source
Track the percentage of users who complete each step: product view → add to cart → begin checkout → purchase. Segment by traffic source (Organic Search, Direct, Paid Social, Email, Referral). Identify where each source drops off.
Example insight: users from Paid Social have a 12% add-to-cart rate (good) but only a 1.2% purchase rate (bad). The drop happens at checkout. Hypothesis: your checkout flow is too long or requires account creation. Test a guest checkout option and measure impact.
Dashboard 3: Product Performance by Margin
Join GA4 product data with your inventory system's cost-of-goods-sold (COGS) data. Calculate margin per product as (Revenue - COGS) ÷ Revenue. Display as a scatterplot: x-axis = units sold, y-axis = margin percentage, bubble size = total profit contribution.
Identify products in the top-right quadrant: high volume, high margin. These are your cash cows—promote them aggressively. Identify products in the bottom-right quadrant: high volume, low margin. Consider raising prices or negotiating better supplier terms. Products in the bottom-left quadrant: low volume, low margin—discontinue unless they serve a strategic purpose (e.g., loss leaders that drive repeat purchases).
Step 7: Set Up Multi-Touch Attribution
GA4's default attribution model is "last click"—it gives 100% credit to the final touchpoint before conversion. This understates the value of awareness channels (display, video, social) that introduce customers to your brand but rarely generate immediate purchases.
GA4's Built-In Attribution Models
Navigate to Admin → Attribution Settings. GA4 offers several models:
• Last Click: 100% credit to the final touchpoint
• First Click: 100% credit to the first touchpoint
• Linear: Equal credit to all touchpoints
• Time Decay: More credit to touchpoints closer to conversion
• Position-Based: 40% to first, 40% to last, 20% split among middle touchpoints
• Data-Driven: Uses machine learning to assign credit based on which touchpoints statistically increase conversion likelihood (requires 400+ conversions and 20,000+ pathway interactions in 30 days)
As of January 16, 2026, GA4 allows independent attribution settings per conversion. Previously, you applied one model to all conversions. Now you can use Data-Driven attribution for high-intent conversions (purchases, demo requests) and Linear attribution for awareness conversions (newsletter signups, content downloads). This is critical for B2B companies running multi-stage funnels.
Cross-Platform Attribution
GA4's attribution only considers touchpoints it knows about—sessions tracked via the GA4 tag. If a user sees a LinkedIn ad, clicks to your site (tracked), then later searches your brand on Google and converts (tracked), GA4 credits both touchpoints. But if the user sees the LinkedIn ad on mobile without clicking, then searches and converts on desktop, GA4 only sees the Google search—it has no record of the LinkedIn impression.
To solve this, you need impression-level data from each ad platform. Improvado pulls impression, click, and conversion data from LinkedIn, Meta, Google, TikTok, and 1,000+ sources, then joins it with GA4 session data using deterministic matching (user ID, transaction ID) and probabilistic matching (timestamp, device type, geo). The result: a unified view of every touchpoint, on-platform and off-platform, that influenced each conversion.
Common Mistakes to Avoid
After analyzing hundreds of GA4 implementations, these are the errors that break ecommerce tracking most often:
1. Sending events without required parameters. GA4 doesn't throw an error if you omit currency or items—it just silently ignores the event. Your Realtime report shows the event fired, but the Monetization reports remain empty. Always validate that every ecommerce event includes all required parameters before publishing to production.
2. Using non-standard event names. If you send product_purchased instead of purchase, GA4 records it as a custom event. Custom events don't populate the built-in ecommerce reports. Stick to Google's defined event names exactly: view_item, add_to_cart, begin_checkout, purchase.
3. Hardcoding test transaction IDs. If every purchase sends transaction_id: 'TEST_001', GA4 sees one transaction repeated thousands of times and deduplicates it down to one. Always generate transaction_id dynamically from your order system. Never use placeholder values in production.
4. Forgetting to exclude internal traffic. If your team browses the site frequently for QA or content updates, those sessions inflate your conversion rates. Navigate to Admin → Data Filters and create an Internal Traffic filter. Define your office IP addresses. Set the filter to Exclude internal traffic. This keeps employee sessions out of reports.
5. Not monitoring data freshness. APIs break. Ecommerce platforms push updates that change how they expose transaction data. Your GA4 integration stops receiving events, but nobody notices until a stakeholder asks why conversions dropped to zero three weeks ago. Set up automated alerts: if zero purchase events fire for 24 hours, send a Slack notification to the data team.
Tools That Help with Google Ecommerce Analytics
Here's how major platforms compare for ecommerce analytics automation:
| Platform | Connectors | Key Strengths | Limitations | Pricing |
|---|---|---|---|---|
| Improvado | 1,000+ | Marketing-specific data models, 250+ governance rules, AI Agent for conversational analytics, no-code interface + full SQL access, sub-hour data latency | Focused on marketing use cases—not ideal for product analytics or engineering-led instrumentation | Custom pricing |
| Google Analytics 4 | Native | Free, tight integration with Google Ads, event-based data model, cross-device tracking via Google Signals | Requires manual event implementation, limited native integrations beyond Google ecosystem, no cost data import for non-Google platforms | Free (GA4 360 available at custom pricing) |
| Segment | 450+ | Event streaming, strong developer tools, sends data to multiple destinations simultaneously | Requires engineering resources to implement, no built-in data transformation beyond basic mapping, expensive at scale | Starts at contact sales |
| Fivetran | 400+ | Reliable data replication, strong support for SaaS databases and data warehouses | Limited marketing-specific transformations, no governance layer, requires separate dbt setup for modeling | Starts at contact sales |
| Supermetrics | 100+ | Easy setup, pulls marketing data directly into Google Sheets, Data Studio, and Excel | Doesn't scale beyond spreadsheet-based workflows, no warehouse integration, limited historical data retention | Starts at contact sales |
For teams that need reliable, governed marketing data pipelines without building custom infrastructure, Improvado eliminates the manual work. The platform handles extraction, transformation, schema mapping, and data quality monitoring. When an API changes, Improvado adapts automatically—your dashboards keep running without interruption.
Advanced Use Cases: What to Build After the Basics Work
Once your core ecommerce tracking is stable, these advanced implementations provide deeper insights:
Customer Lifetime Value Prediction
Use GA4's Predictive Metrics (requires Google Analytics 360 or meets data thresholds: 1,000+ users with purchase events and 1,000+ users without purchase events in 28 days). GA4 calculates purchase probability and predicted revenue per user using machine learning. Create audiences of high-LTV users and target them with retention campaigns before they churn.
AI-Powered Product Recommendations
Companies using AI personalization generate 40% more revenue than competitors. Connect GA4 behavioral data—products viewed, categories browsed, time on page—with your product catalog. Use a recommendation engine (Algolia, Dynamic Yield, Nosto) to serve personalized product suggestions on PDPs, cart pages, and email campaigns.
Real-Time Budget Pacing
Connect GA4 conversion data with ad platform spend data in real time. Calculate spend rate vs. target. If a campaign is pacing to exceed budget by 20% before month-end, automatically reduce bids or pause low-performing ad sets. Improvado's Marketing Data Governance includes pre-built budget alerts and can trigger automated actions via API.
Conclusion
Google Analytics 4 ecommerce tracking gives you the raw data—product views, add-to-cart actions, purchases—but accurate, actionable analytics requires more. You need reliable event implementation, external data sources joined correctly, multi-touch attribution that reflects reality, and dashboards that surface insights instead of burying them in tables.
Most teams hit the same bottleneck: manual data work scales poorly. Exporting CSVs, cleaning mismatched schemas, fixing broken pipelines, and rebuilding reports consumes hours every week. The solution isn't working harder—it's automating the infrastructure so analysts can focus on analysis instead of data plumbing.
Start with the basics: implement the six core ecommerce events correctly, verify data in GA4 reports, and build one dashboard that answers a business question. Then expand: connect ad spend data, test attribution models, and automate the pipelines that break most often. The compound effect of reliable data is exponential—teams that solve infrastructure early gain months of runway over competitors still stuck in spreadsheets.
FAQ
How does GA4 ecommerce tracking differ from Universal Analytics?
Universal Analytics used session-based tracking with pageviews as the core metric. GA4 uses event-based tracking where every interaction—pageview, click, scroll, purchase—is an event. For ecommerce specifically, Universal Analytics had two separate implementations: Standard Ecommerce and Enhanced Ecommerce. GA4 consolidates everything into a single ecommerce measurement framework with required event names and parameters. UA's ecommerce reports had fixed dimensions and metrics; GA4 allows custom explorations with item-scoped dimensions. Attribution in UA was primarily last-click; GA4 offers data-driven attribution by default (when volume thresholds are met). Most critically, Universal Analytics stopped processing data on July 1, 2023—migration to GA4 is mandatory, not optional.
Do I need Google Tag Manager to implement GA4 ecommerce tracking?
No, but it makes implementation far easier to maintain. You can hardcode gtag.js events directly into your website's JavaScript or use the Measurement Protocol to send events server-side. The problem with hardcoding: every event change requires a developer, code review, and deployment. Google Tag Manager lets marketers configure events through a UI without code changes. For small sites with one or two products, hardcoding works. For ecommerce sites with hundreds of SKUs, frequent promotions, and multiple traffic sources, GTM saves weeks of development time. Most enterprise ecommerce platforms (Shopify, BigCommerce, Magento) offer native GTM integrations that populate the data layer automatically.
Why are my GA4 ecommerce reports showing zero transactions even though events fire in Realtime?
Four common causes. First: your purchase event is missing required parameters. GA4 needs transaction_id, currency, value, and items (with at least one item object containing item_id and item_name). If any are missing, the event registers but doesn't populate Monetization reports. Second: the event name is misspelled. Purchase with a capital P doesn't match purchase—event names are case-sensitive. Third: you're sending the wrong data type. value must be a number, not a string—"89.99" (string) fails, 89.99 (number) works. Fourth: you're testing with ad blockers enabled. Many browser extensions block GA4 tracking. Disable all extensions and test in an incognito window.
How do I import ad spend data into GA4?
GA4 automatically imports cost data from Google Ads if you link your Google Ads account (Admin → Product Links → Google Ads Links). For other platforms—Meta, LinkedIn, TikTok, Snapchat—you have two options. Option one: use GA4's Data Import feature. Export cost data from each platform as a CSV formatted according to GA4's schema (required columns: Date, Campaign, Source, Medium, Cost). Upload via Admin → Data Import. Google matches the imported cost to GA4 sessions based on campaign name and UTM parameters. This works but requires manual exports and uploads every week. Option two: use a marketing data platform like Improvado that connects directly to each platform's API, extracts cost data daily, and pushes it into your data warehouse alongside GA4 session data. Calculate ROAS by joining the two datasets in your BI tool (Looker, Tableau, Power BI) or use Improvado's pre-built dashboards.
How do I track purchases across multiple domains?
If your ecommerce funnel spans multiple domains—for example, users browse products on shop.example.com but checkout on checkout.example.com—you need cross-domain tracking. Navigate to Admin → Data Streams → select your web stream → Configure tag settings → Configure your domains. Add both domains to the list. This tells GA4 to preserve user sessions across domains instead of treating each domain as a new session. Next, verify that all internal links between domains include the _gl parameter. GA4 automatically appends this parameter when cross-domain tracking is enabled—it contains an encrypted user identifier that ties sessions together. Test by navigating from domain A to domain B and checking the URL for _gl=. If it's missing, your GTM configuration may be stripping query parameters. Add an exception for _gl in your tag settings.
Can I use GA4 ecommerce tracking for B2B sales with long purchase cycles?
Yes, but with limitations. GA4's ecommerce measurement was designed for transactional ecommerce—users browse, add to cart, purchase within one or two sessions. B2B sales cycles often span weeks or months: a user downloads a whitepaper, attends a webinar, requests a demo, receives a proposal, then signs a contract three months later. GA4's standard ecommerce events don't map to this flow. Instead, create custom events for each milestone: demo_requested, proposal_sent, contract_signed. Mark contract_signed as a conversion event. Use GA4's User Lifetime reporting to track long-term value per user. For accurate revenue attribution, connect GA4 to your CRM (Salesforce, HubSpot) and join closed-won revenue with the user's original traffic source. GA4's independent conversion attribution (launched January 16, 2026) lets you apply different attribution models to different conversions—use Data-Driven attribution for demo requests and Position-Based attribution for contract signatures. This gives credit to both the first-touch awareness campaign and the last-touch nurture email.
How long does GA4 store ecommerce data?
GA4 stores user-level and event-level data for 2 months or 14 months, depending on your retention setting (Admin → Data Settings → Data Retention). After the retention period expires, GA4 deletes user identifiers and aggregates the data. You can still see total revenue and transaction counts in reports, but you can't create new explorations or audiences using that data. Aggregate data in standard reports (Monetization → Overview) persists indefinitely—you can view total revenue from 2020 even if your retention is set to 2 months. If you need long-term access to raw event data for custom analysis, export GA4 data daily to BigQuery (free for up to 1 million events per day on the free GA4 tier; unlimited on GA4 360). BigQuery stores data as long as you pay for storage. Improvado also provides 2-year historical data preservation when connector schemas change—if a platform renames a field, Improvado maps the old field to the new field automatically, so your historical dashboards don't break.
.png)



.png)
