How we unified GA4, Google Ads, and Search Console in Dataform for true product analytics
In e-commerce, seeing beyond “traffic” means connecting data from every digital channel — not just knowing that a product is visible, but understanding how it performs in organic search (SEO), paid campaigns (SEM), and on-site conversion.
This project was designed to break the country-or-channel silo, enabling unified product analytics across SEO, SEM, and website behavior for all our countries at once.
🧩 Project Overview
The goal:
Create an integrated analytics platform that joins Google Analytics 4 (GA4), Google Ads, and Search Console data for product-level insights, covering all markets.
Key objectives:
- Analyze product performance in organic search (Search Console), paid ads (Google Ads), and website behavior/conversions (GA4).
- Enable merchandising, recommendations, and assortment decisions based on real data — not guesses.
- Optimize ad budgets toward the products and categories with the highest ROI.
☁️ Architecture at a Glance
Architecture stack overview:
- BigQuery: All analytical tables (nested & repeated fields; ~35M rows) — product, event, stock & price history.
- Dataform: Data modeling, orchestration, and incremental loads; custom scopes for events, items, and content grouping.
- GA4 Export: Unified schema for all projects and countries, including e-commerce data and custom channel grouping.
- Google Search Console: Visibility and click data, product-matched.
- Google Ads: Campaign costs, conversions; changes ongoing for full product-level matching.
- Dashboarding: Aggregated views for category managers and marketers.

🔄 From Raw Sources to Unified Product Insights
- Data Ingestion & Storage
- Weekly exports from GA4, Search Console, and Google Ads into BigQuery, using Dataform’s incremental logic to avoid duplicates and maximize query efficiency.
- Product, stock, and price history stored as STRUCT/ARRAY types, leveraging nested fields for massive row count reduction (~35M vs. 175M in legacy designs).
💻 [Placeholder: example Dataform SQL for GA4 incremental event load]
- Data Modeling & Transformation
- Event and item scopes implemented in Dataform, allowing detailed analysis by channel, content group, and custom dimensions.
- Unified product info combined with ad spend/clicks and SEO visibility.
- Currency conversion and multi-country logic established; assertions handle duplicate transactions, bot traffic, and missing consent.
💻 [Placeholder: Dataform assertion or transformation snippet — e.g. checking duplicate transactions]
- Quality & Observability
- Dashboards include tracking quality checks: e-commerce event completeness, pages with high bounce rates or 404 errors, and data consistency between sources.
- Automated tests verify item/event coverage across all domains each week.
🖼️ [Placeholder: dashboard screen showing product performance across channels]
🖼️ [Placeholder: observability panel (404 rates, event completeness)]

📊 Reporting & Impact
With integrated data, we gained:
- A single view of product performance across SEO, SEM, and UX for all markets, not just one at a time.
- The ability to identify top-converting items and shift ad budgets in real time.
- Improved merchandising — data-driven recommendations for assortment and promotions.
- Greater tracking observability: faster detection of data gaps, broken pages, bot issues.

🚀 What’s Next
Planned improvements:
- Full rollout of Search Console integration for all product SKUs.
- Data-driven attribution enhancements using advanced models in Dataform.
- More automated observability checks (consent, bot, currency anomalies).
- Optimization of Google Ads transfer for deeper product-level analytics.
💡 Takeaways
This integrated stack now gives the team the ability to analyze and act on real product-level data from every major channel.
Instead of manually switching queries and reconciling exports for each country, we have a unified, scalable solution — one that supports marketing, merchandising, and tracking teams across the business.
It’s a major step forward for e-commerce analytics.
Leave a Reply