Skip to content

GA4 and Search Console setup for WooCommerce stores

Risto Rehemägi
Risto Rehemägi
Co-Founder | ContentGecko

Setting up GA4 and Google Search Console on your WooCommerce store gives you the data foundation to actually understand whether your organic traffic is converting. Without proper eCommerce event tracking, you’re flying blind – you can see traffic, but you can’t connect purchases back to specific products, campaigns, or content.

I’ve seen too many store owners skip the eCommerce setup and wonder why their “successful” blog traffic isn’t moving revenue. This guide walks through both the quick plugin route and the proper GTM implementation, plus how to wire up Search Console so you can see which keywords drive both traffic and sales.

Simple notebook-style pencil drawing of a WooCommerce store with GA4 charts showing which traffic is driving sales

Prerequisites for setup

Before you start, you need admin access to your WooCommerce store, a Google Analytics 4 property (not the old Universal Analytics), and a verified Google Search Console property for your domain. You’ll also need either the ability to install WordPress plugins or access to add code snippets and scripts.

For Search Console verification, you have several options: DNS verification, HTML file upload, or using your existing GA4 code. DNS verification is cleanest if you have access to your domain registrar.

Make sure your WooCommerce store is live and processing test orders. You’ll need to trigger actual eCommerce events to verify your setup works.

Method 1: Plugin-based implementation

The fastest path is using a dedicated plugin. The official WooCommerce Google Analytics plugin handles basic GA4 tracking, but you’ll need to ensure it supports GA4 natively, not just Universal Analytics with an addon.

Look for a plugin that offers native GA4 support, automatic eCommerce event tracking for view_item, add_to_cart, begin_checkout, and purchase events, data layer implementation for advanced tracking, and regular updates with active support.

Once installed, navigate to WooCommerce → Settings → Integration → Google Analytics. Enter your GA4 Measurement ID (starts with “G-”), enable eCommerce tracking, and save. The plugin should automatically fire the standard eCommerce events, which must include proper item parameters like item_id, item_name, price, and quantity according to Google’s official implementation requirements.

Most plugins work well for basic tracking but struggle with advanced scenarios like cross-domain tracking, custom event parameters, or complex funnel analysis. If you’re running multiple stores or need granular control over what gets tracked, GTM is the better route.

Method 2: Google Tag Manager implementation

GTM gives you complete control and is the approach I recommend for serious WooCommerce stores. It’s more setup work upfront but far more flexible.

Simple notebook-style pencil sketch of the Google Tag Manager interface wiring events from a WooCommerce store into GA4

Installing GTM

Create a Google Tag Manager account and container. GTM will give you two code snippets – one for the <head> and one for the <body>. You can add these via a GTM-specific WordPress plugin like GTM4WP, your theme’s header/footer customization options, or through the ContentGecko WordPress Connector Plugin if you’re already using ContentGecko for automated content.

The header snippet should fire on every page. Verify installation by checking GTM’s Preview mode – it should show your site loading in the debugger.

Configuring the data layer

WooCommerce needs to push eCommerce data into the data layer so GTM can read it. This is where many implementations break. You need WooCommerce to output JavaScript objects that follow GA4’s eCommerce schema – for example, when someone views a product, the data layer should include the event name, item_id, item_name, item_brand, item_category, price, and quantity.

Most WooCommerce GTM plugins handle this automatically. If you’re doing custom development, you’ll need to hook into WooCommerce actions to push the right data at the right time. Google’s documentation shows you can include up to 27 custom parameters alongside the prescribed ones, giving you flexibility for tracking store-specific attributes like product variants or custom taxonomies.

Setting up GA4 eCommerce events

In GTM, create tags for the key eCommerce events. The view_item event fires when someone views a product page – trigger it on a custom event from the data layer and include required parameters like item_id and item_name, plus recommended ones like item_brand, item_category, and price.

The add_to_cart event fires when someone adds a product to cart. Trigger it on the custom add_to_cart event and make sure it includes the item array with quantity.

The begin_checkout event fires when the checkout process starts, triggered either by a page view on your checkout URL or a custom event. It should include cart value and all items.

The purchase event fires on the order confirmation page and is the most critical – it must include transaction_id, value, currency, tax, shipping, and the full items array. Trigger this on a page view of your order confirmation page with transaction data present.

Each tag should be a “GA4 Event” tag type, with your GA4 Measurement ID and the appropriate event name and parameters pulled from the data layer. Duplicate tracking is the most common pitfall – a single purchase firing multiple times will destroy your revenue data. Use GA4’s DebugView to examine your event stream and ensure each purchase only fires once.

Testing your implementation

After setting up your tags, open GTM Preview mode, browse your store and add a product to cart, then complete a test purchase. Check GA4’s Realtime report – you should see the events firing with individual events appearing with correct parameters, revenue matching your test order, no duplicate purchase events, and item parameters populated correctly.

Verification through Real-Time reports confirms tracking is working before you consider the implementation complete.

Connecting Google Search Console to GA4

Once GA4 is tracking eCommerce properly, connecting Search Console adds the keyword and impression data that shows how people find your products.

Simple notebook-style pencil drawing of a magnifying glass over search results, connecting keywords to eCommerce revenue data

Linking the accounts

In GA4, go to Admin → Product Links → Search Console Links. Click “Link” and select your verified Search Console property. The integration is one-to-one: one GSC property links to one GA4 data stream.

After linking, GA4 imports your Search Console data, though this can take 24-48 hours to populate initially. This integration reveals opportunities like high-impression keywords with low CTR or pages that rank well but have poor engagement – critical insights covered in depth in our guide on how to combine Google Analytics and Search Console data.

Accessing Search Console data in GA4

Navigate to Reports → Acquisition → Traffic Acquisition and filter by “Organic Search” as the source. You’ll see cards for Google organic search queries (keywords driving traffic), Google organic search landing pages (which pages rank), impressions and clicks from Search Console, and average position showing where you rank for those queries.

The power here is correlating keyword performance with actual eCommerce behavior. For example, you might discover that keywords ranking in positions 8-12 have decent impressions but low clicks – optimize those pages and you’ll likely see quick traffic gains.

Using custom explorations

GA4’s Exploration reports let you dig deeper. Create a custom exploration that combines Search Console metrics like impressions, average position, and CTR with GA4 engagement metrics like engagement rate and scroll depth, plus eCommerce metrics such as add_to_cart rate, purchase rate, and revenue.

I regularly segment by product category to see which categories get search visibility but don’t convert. That usually indicates either targeting the wrong keywords – informational when you need transactional – or poor product page optimization.

For keyword-focused analysis, our guide on Google Search Console for keyword research shows how to filter for high-impression, low-CTR opportunities and question-based queries that indicate content gaps your store should address.

Configuring enhanced eCommerce tracking

Beyond basic events, enhanced eCommerce tracking adds depth to your data.

Product impressions and list views

Track when products appear in category pages, search results, or recommendation widgets. This requires pushing impression data to the data layer when the page loads, using the view_item_list event with details about each product, its position in the list, and which list it appeared in (like a specific category or search results page).

This shows which products get visibility and how position affects clicks. If products lower in your category pages never get clicked, you know to surface bestsellers higher.

Promotion tracking

If you run banners or promotional blocks, track when they’re viewed and clicked using view_promotion and select_promotion events. Include details like the promotion ID, name, creative name, and which slot it appeared in (hero banner, sidebar, etc.).

This helps you understand which promotional content actually drives revenue versus just getting impressions.

Refund tracking

Track refunds to get accurate revenue numbers by firing a refund event with the transaction ID, value, and currency when a customer returns a product. This is critical for stores with high return rates – your gross revenue might look great while net revenue tells a different story.

Viewing eCommerce reports in GA4

GA4’s default eCommerce reports live under Reports → Monetization. Key reports include the Overview showing revenue, transactions, average purchase value, and eCommerce conversion rate; the Purchase journey funnel from product view through purchase showing drop-off at each stage; and reports on item list/promotion views and clicks showing which product lists drive engagement.

I usually create custom reports that show revenue by traffic source (organic, paid, direct, referral), product category performance over time, landing page revenue revealing which blog posts drive purchases, and device performance comparing mobile versus desktop conversion rates.

As detailed in our Google Analytics SEO report guide, proper GA4 configuration can improve data accuracy by up to 30%. Without accurate eCommerce tracking, you can’t reliably connect SEO efforts to revenue.

For WooCommerce-specific insights, the ContentGecko eCommerce SEO Dashboard breaks down standard Search Console metrics by page type – categories, products, and blog posts separately. This matters because category pages, product pages, and blog content serve different purposes and need different optimization approaches.

Analyzing search performance data

With both GA4 and Search Console connected, you can answer critical business questions. Which keywords drive revenue, not just traffic? Create a custom exploration with the Search Console query dimension and GA4 eCommerce metrics, then sort by revenue per query. You’ll often find that your highest-traffic keywords aren’t your highest-revenue keywords.

Do high-ranking pages actually convert? Pull landing pages with their average position from Search Console alongside engagement rate and conversion rate from GA4. Pages ranking in top 3 but with low engagement often have a title/meta description mismatch – you’re ranking for the wrong intent.

What content gaps exist? Our article on leveraging event tracking in Google Analytics for SEO explains how tracking internal site search reveals what visitors look for but can’t find. If people search your site for “waterproof running shoes” but you don’t have content targeting that, create it.

Which products need better SEO? Cross-reference product revenue from GA4 with Search Console impressions for those product pages. High-margin products with low search visibility should get SEO priority – optimize titles, add structured data, and build internal links.

Common implementation issues

Events not firing

Check GTM Preview mode. If the event isn’t appearing there, your data layer push isn’t working. Common causes include data layer code loading after GTM, JavaScript errors blocking execution, or incorrect event names since GA4 is case-sensitive.

Duplicate transactions

This happens when your confirmation page reloads or when both a plugin and GTM fire the purchase event. Use GA4 DebugView to see if purchase fires multiple times. Fix this by either removing the plugin’s eCommerce tracking if you’re using GTM, or adding JavaScript to prevent the data layer push on page refresh.

Missing revenue data

Verify that your purchase event includes value, currency, tax, and shipping parameters. GA4 needs these to calculate revenue metrics correctly.

Search Console data not showing

If GSC metrics don’t appear in GA4 after 48 hours, verify your site is verified in Search Console, check that you linked the correct GSC property with an exact domain match, and ensure your GA4 property has a web data stream for the same domain.

Consent Mode implementation affects user_engagement events, which impacts Engagement Rate. If your numbers look unusually low, check your consent configuration.

Advanced tracking scenarios

For cross-domain tracking, if you process checkouts on a subdomain (shop.example.com → checkout.example.com), configure cross-domain tracking in GTM. Without it, checkout appears as a new session and attribution breaks.

For dynamic remarketing, push product IDs to the data layer on all pages so you can build dynamic remarketing audiences in Google Ads. Someone who viewed a specific product but didn’t purchase can see ads for that exact product.

For privacy compliance or iOS tracking limitations, consider server-side GTM. This routes events through your server before sending to GA4, bypassing ad blockers and browser restrictions.

GA4’s default attribution is “data-driven” when you have enough conversion volume. For newer stores, it falls back to last-click. Experiment with different attribution models – first-click, linear, time-decay – to understand the full customer journey.

Maintaining your setup

eCommerce tracking isn’t set-and-forget. Run monthly audits to check that key events still fire correctly – WooCommerce and plugin updates sometimes break tracking. Perform data quality checks by looking for anomalies in GA4; sudden spikes or drops in purchase events usually indicate tracking issues, not actual business changes.

Use GTM’s built-in version control. Before making changes, create a new version so you can roll back if something breaks. Keep documentation of what events you track, what parameters they include, and what they mean. When someone new inherits your setup, they’ll thank you.

I revisit tracking setup quarterly, especially after major WooCommerce updates. As covered in our overview of Google Analytics SEO, regular monitoring is vital for sustainable organic traffic growth.

Scaling with automation

Once your tracking foundation is solid, you can automate the analysis and optimization work. For reporting, build custom dashboards that combine GA4 eCommerce data with Search Console metrics. Set up automated alerts for significant traffic drops (might indicate technical SEO issues), conversion rate changes by traffic source, new high-impression keywords (optimization opportunities), and products losing search visibility.

As your store grows past 1,000+ products, manual content creation and optimization doesn’t scale. Our SEO Analytics Reports guide notes that proper GA4 configuration can improve data accuracy by up to 30%, making automation even more valuable when you have a solid data foundation.

Automated systems that sync with your product catalog and update when SKUs, prices, or stock changes become essential. For content specifically, platforms like ContentGecko automatically generate product-aware blog posts that reference your catalog and track which content drives conversions, with the WordPress Connector Plugin publishing directly to your store with proper internal linking and metadata.

TL;DR

GA4 with proper eCommerce tracking shows which organic traffic actually drives revenue, not just pageviews. Implement via a plugin for quick setup or GTM for full control. Track the four core events – view_item, add_to_cart, begin_checkout, purchase – with proper item parameters including item_id, item_name, price, and quantity. Connect Google Search Console to GA4 to see which keywords drive both traffic and conversions, revealing optimization opportunities in rankings 8-20. Test thoroughly using Real-Time reports and DebugView to catch duplicate events or missing parameters. Analyze the combined data to identify high-impression keywords with low conversion, content gaps from internal site search, and products needing better SEO. Maintain your setup with monthly audits and version control, and consider automation as your catalog scales beyond 1,000 products.