{"id":275230,"date":"2026-04-26T07:27:38","date_gmt":"2026-04-26T07:27:38","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/"},"modified":"2026-07-14T02:29:58","modified_gmt":"2026-07-14T02:29:58","slug":"gia-conversion-tracking-for-ecommerce-google-analytics-4","status":"publish","type":"plugin","link":"https:\/\/scn.wordpress.org\/plugins\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/","author":20447401,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.7","stable_tag":"0.7","tested":"7.0.1","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"GIA \u2014 GA4 Ecommerce Tracking for WooCommerce","header_author":"userelements","header_description":"The easiest Google Analytics 4 (GA4) conversion tracking for WooCommerce. Track sales, revenue, and ecommerce events automatically.","assets_banners_color":"e8cffe","last_updated":"2026-07-14 02:29:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.userelements.com\/google-analytics-woocommerce\/","header_author_uri":"http:\/\/userelements.com\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":439,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.4":{"tag":"0.4","author":"userelements","date":"2026-04-26 07:28:45"},"0.5":{"tag":"0.5","author":"userelements","date":"2026-06-07 03:33:58"},"0.6":{"tag":"0.6","author":"userelements","date":"2026-06-24 04:29:20"},"0.7":{"tag":"0.7","author":"userelements","date":"2026-07-14 02:29:58"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3563438,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3563438,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.4","0.5","0.6","0.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3563438,"resolution":"1","location":"assets","locale":"","width":842,"height":413},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3563438,"resolution":"2","location":"assets","locale":"","width":850,"height":735},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3563438,"resolution":"3","location":"assets","locale":"","width":996,"height":807},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3563438,"resolution":"4","location":"assets","locale":"","width":989,"height":770},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3563438,"resolution":"5","location":"assets","locale":"","width":1084,"height":864},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3563438,"resolution":"6","location":"assets","locale":"","width":1080,"height":842}},"screenshots":{"1":"Settings \u2014 Connect GA4 in a few steps","2":"eCommerce Dashboard Stats","3":"Settings WooCommerce events","4":"Measurement ID, API secret, consent, and advanced options","5":"Products stats","6":"Customer statistics."}},"plugin_section":[],"plugin_tags":[223629,32831,193472,1005,286],"plugin_category":[45],"plugin_contributors":[210940],"plugin_business_model":[],"class_list":["post-275230","plugin","type-plugin","status-publish","hentry","plugin_tags-consent-mode","plugin_tags-ecommerce-tracking","plugin_tags-ga4","plugin_tags-google-analytics","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-userelements","plugin_committers-userelements"],"banners":{"banner":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/banner-772x250.png?rev=3563438","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/icon-256x256.png?rev=3563438","icon_2x":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/icon-256x256.png?rev=3563438","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/screenshot-1.png?rev=3563438","caption":"Settings \u2014 Connect GA4 in a few steps"},{"src":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/screenshot-2.png?rev=3563438","caption":"eCommerce Dashboard Stats"},{"src":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/screenshot-3.png?rev=3563438","caption":"Settings WooCommerce events"},{"src":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/screenshot-4.png?rev=3563438","caption":"Measurement ID, API secret, consent, and advanced options"},{"src":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/screenshot-5.png?rev=3563438","caption":"Products stats"},{"src":"https:\/\/ps.w.org\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/assets\/screenshot-6.png?rev=3563438","caption":"Customer statistics."}],"raw_content":"<!--section=description-->\n<h4>GA4 ecommerce tracking for WooCommerce<\/h4>\n\n<p>Set up WooCommerce conversion tracking in Google Analytics 4 in minutes. GIA GA4 is the specialist for one job: making GA4 WooCommerce tracking <strong>complete and reliable<\/strong> \u2014 every funnel event, accurate purchase data, and a server-side backup when browsers block tags.<\/p>\n\n<p>No Tag Manager. No developer. Paste your Measurement ID and start tracking.<\/p>\n\n<h4>Why GIA GA4<\/h4>\n\n<p><strong>The old way vs. the new way<\/strong><\/p>\n\n<p><strong>Tracking WooCommerce without GIA GA4<\/strong><\/p>\n\n<ul>\n<li>A page-view plugin (or a pasted gtag snippet) that never understands the cart<\/li>\n<li>Hand-wired JavaScript \u2014 or a paid developer \u2014 for every add-to-cart and checkout step<\/li>\n<li>Broken tracking after theme, Blocks, or WooCommerce updates<\/li>\n<li>Missing purchases from ad blockers and declined cookies \u2014 discovered weeks later when GA4 revenue does not match WooCommerce<\/li>\n<\/ul>\n\n<p><strong>Tracking WooCommerce with GIA GA4<\/strong><\/p>\n\n<ul>\n<li><strong>One plugin built for GA4 + WooCommerce<\/strong> \u2014 the full shopping funnel, formatted the way Google Analytics 4 expects<\/li>\n<li><strong>Flip the switch<\/strong> \u2014 add your Measurement ID (and optionally an API secret) and conversions start flowing<\/li>\n<li><strong>Enhanced Conversions ready<\/strong> \u2014 hashed customer data on browser and server-side purchases for sharper attribution<\/li>\n<li><strong>Live in minutes<\/strong> \u2014 no Tag Manager containers, no custom triggers, no trial-and-error debug weekends<\/li>\n<\/ul>\n\n<p>GIA GA4 is <strong>not<\/strong> a multi-platform hub. It does one thing deeply: get accurate WooCommerce ecommerce data into <strong>Google Analytics 4<\/strong> (with optional Google Ads purchase conversions).<\/p>\n\n<h4>What you can track<\/h4>\n\n<p>GIA GA4 captures these WooCommerce events and sends them to GA4 with product and value data.<\/p>\n\n<p><strong>Browsing<\/strong>\n* View item list \u2014 shop, category, tag, and search results\n* Select item \u2014 product clicks from grids and collections\n* View item \u2014 product pages, including variable product selections\n* View promotion \u2014 sale products and store notices<\/p>\n\n<p><strong>Cart<\/strong>\n* Add to cart \u2014 with product and value data (classic + Blocks)\n* Remove from cart \u2014 cart, mini-cart, and Blocks\n* View cart \u2014 cart page \/ Blocks cart<\/p>\n\n<p><strong>Checkout<\/strong>\n* Begin checkout \u2014 with cart value and items\n* Add shipping info \u2014 shipping method chosen\n* Add payment info \u2014 payment method chosen\n* Coupons \u2014 applied and removed\n* Payment failure \u2014 declined cards, validation errors, checkout errors<\/p>\n\n<p><strong>Purchase &amp; after<\/strong>\n* Purchase \u2014 order total, tax, shipping, coupons, and full line items\n* Refund \u2014 full and partial, via Measurement Protocol\n* Optional \u2014 login, sign-up, subscription lifecycle (WooCommerce Subscriptions)<\/p>\n\n<p><strong>GA4 event names:<\/strong> <code>view_item_list<\/code>, <code>select_item<\/code>, <code>view_item<\/code>, <code>add_to_cart<\/code>, <code>remove_from_cart<\/code>, <code>view_cart<\/code>, <code>begin_checkout<\/code>, <code>add_shipping_info<\/code>, <code>add_payment_info<\/code>, <code>purchase<\/code>, <code>refund<\/code>, plus checkout and coupon events. Core funnel events can be toggled in <strong>Settings \u2192 Events<\/strong>.<\/p>\n\n<h4>Trust details \u2014 why the numbers hold up<\/h4>\n\n<p><strong>Server-side purchase backup<\/strong>\nBrowser purchase on the thank-you page, plus Measurement Protocol from your server when ad blockers or consent block the tag. Deduplicated so GA4 counts one purchase per order \u2014 not two.<\/p>\n\n<p><strong>Detailed commerce data<\/strong>\nProduct name, ID or SKU, categories, brand, variants, sale discount, quantity, coupons, tax, and shipping \u2014 formatted for GA4 ecommerce reports and funnels.<\/p>\n\n<p><strong>Enhanced Conversions<\/strong>\nOptionally hash and send first-party customer data (email, phone, name, address) with purchase events \u2014 including server-side Measurement Protocol purchases \u2014 for better matching in Google Analytics and Google Ads.<\/p>\n\n<p><strong>Conversion journeys<\/strong>\nSee the page path and channel touches that led to an order \u2014 on the order edit screen, in the orders list, and optionally in the New Order admin email. Journeys show elapsed time from the first touch and time spent on each page.<\/p>\n\n<p><strong>UTM Reports &amp; Link Builder<\/strong>\nGroup purchases by source\/medium, campaign, or landing page, drill into matching orders and journeys, and build tracked campaign URLs from <strong>GIA GA4 \u2192 UTM Reports<\/strong> (also under <strong>Tools<\/strong>).<\/p>\n\n<p><strong>Privacy friendly<\/strong>\nConsent Mode V2 with sensible defaults. Integrates with Cookiebot, CookieYes, Complianz, Borlabs, Iubenda, and the WP Consent API so tracking respects visitor choices.<\/p>\n\n<p><strong>Modern WooCommerce<\/strong>\nClassic themes and block cart\/checkout, mini-cart, Product Collection grids, HPOS, multi-currency helpers, and WooCommerce Subscriptions renewals.<\/p>\n\n<p><strong>Setup that does not fight you<\/strong>\nSetup wizard, tracking verification, settings import from GTM4WP \/ Google Analytics for WooCommerce \/ GTM Kit, pause-for-testing mode, staff and URL exclusions, and warnings when another snippet may double-fire.<\/p>\n\n<h4>Who this is for<\/h4>\n\n<p><strong>Good fit<\/strong>\n* Store owners who need <strong>complete GA4 ecommerce<\/strong> \u2014 not just a visitor counter\n* Shops where GA4 shows <strong>fewer sales than WooCommerce<\/strong>\n* EU\/UK stores that need Consent Mode done properly\n* Stores on block checkout that broke older tracking snippets\n* Stores that also want optional Google Ads purchase conversions<\/p>\n\n<p><strong>Not the right fit<\/strong>\n* You only need a lightweight hit counter on a blog\n* You want Meta, TikTok, LinkedIn, or \u201cevery ad platform\u201d in one plugin\n* You already maintain a custom GTM setup you are happy with\n* You need profit\/COGS or ad-spend reporting inside WordPress<\/p>\n\n<h4>Start tracking WooCommerce in GA4<\/h4>\n\n<ol>\n<li>Install GIA GA4 and open the setup wizard<\/li>\n<li>Paste your <strong>GA4 Measurement ID<\/strong> (G- or GT-)<\/li>\n<li><strong>Recommended:<\/strong> add your <strong>Measurement Protocol API secret<\/strong> for purchase backup<\/li>\n<li>Place a test order and confirm events in <strong>GA4 \u2192 Realtime<\/strong><\/li>\n<\/ol>\n\n<p>That is it. Full funnel tracking without Tag Manager.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>Tracking respects consent settings. Defaults can stay \u201cdenied\u201d until the shopper agrees (configurable). Enhanced conversion data is hashed before send and is not stored by this plugin. You remain responsible for your store\u2019s privacy policy and legal compliance.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to external services to provide analytics functionality. By using this plugin, you agree to the terms and privacy policies of these services.<\/p>\n\n<p><strong>1. Google Analytics 4 (required for tracking)<\/strong><\/p>\n\n<ul>\n<li>Purpose: Records ecommerce events, sessions, and conversions<\/li>\n<li>Data sent: Page views, ecommerce events, hashed customer data (if Enhanced Conversions enabled), client\/session identifiers<\/li>\n<li>Domains: <code>www.googletagmanager.com<\/code>, <code>www.google-analytics.com<\/code>, <code>region1.google-analytics.com<\/code><\/li>\n<li>Terms: <a href=\"https:\/\/marketingplatform.google.com\/about\/analytics\/terms\/us\/\">Google Analytics Terms<\/a><\/li>\n<li>Privacy: <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n\n<p><strong>2. GA4 Measurement Protocol (recommended)<\/strong><\/p>\n\n<ul>\n<li>Purpose: Server-side purchase and refund delivery when browser tracking is blocked<\/li>\n<li>Data sent: Order value, line items, transaction ID, client ID, session ID, event ID; hashed customer data when Enhanced Conversions is enabled<\/li>\n<li>Endpoint: <code>https:\/\/www.google-analytics.com\/mp\/collect<\/code><\/li>\n<li>Terms\/Privacy: Same as Google Analytics above<\/li>\n<\/ul>\n\n<p><strong>3. Google Ads (optional)<\/strong><\/p>\n\n<ul>\n<li>Purpose: Purchase conversion signals for Smart Bidding<\/li>\n<li>Data sent: Conversion value, transaction ID, hashed customer data (if enabled)<\/li>\n<li>Domains: <code>www.googletagmanager.com<\/code><\/li>\n<li>Terms: <a href=\"https:\/\/ads.google.com\/home\/terms\/\">Google Ads Terms<\/a><\/li>\n<li>Privacy: <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n\n<p><strong>4. Google Tag Manager (optional)<\/strong><\/p>\n\n<ul>\n<li>Purpose: Tag deployment when you manage GA4 through GTM<\/li>\n<li>Domain: <code>www.googletagmanager.com<\/code><\/li>\n<li>Only loaded when a GTM container ID is configured<\/li>\n<\/ul>\n\n<p><strong>5. Google Site Kit (optional \u2014 dashboard only)<\/strong><\/p>\n\n<ul>\n<li>Purpose: Display GA4 traffic reports inside the GIA GA4 dashboard<\/li>\n<li>Only used when Site Kit is installed and Analytics is connected<\/li>\n<li>Plugin: <a href=\"https:\/\/wordpress.org\/plugins\/google-site-kit\/\">Google Site Kit<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <strong>WooCommerce<\/strong><\/li>\n<li>Install and activate <strong>GIA \u2014 GA4 Ecommerce Tracking for WooCommerce<\/strong><\/li>\n<li>Open the setup wizard (or go to <strong>GIA GA4 \u2192 Settings<\/strong>)<\/li>\n<li>Paste your <strong>GA4 Measurement ID<\/strong> (starts with G- or GT-)<\/li>\n<li><strong>Recommended:<\/strong> Add your <strong>GA4 API Secret<\/strong> for server-side purchase backup (GA4 \u2192 Admin \u2192 Data Streams \u2192 your stream \u2192 Measurement Protocol)<\/li>\n<li>Optional: enable Enhanced Conversions and Consent Mode settings for your region<\/li>\n<li>Visit your store in a private window, add a product to cart, and confirm events in <strong>GA4 \u2192 Realtime<\/strong><\/li>\n<\/ol>\n\n<p>If you used another GA plugin before, GIA GA4 can import your Measurement ID automatically.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20google%20tag%20manager%3F\"><h3>Do I need Google Tag Manager?<\/h3><\/dt>\n<dd><p>No. Paste your Measurement ID and GIA GA4 handles the rest. Tag Manager is only needed if you already use it for other tags.<\/p><\/dd>\n<dt id=\"how%20is%20this%20different%20from%20site%20kit%20or%20meow%20analytics%3F\"><h3>How is this different from Site Kit or Meow Analytics?<\/h3><\/dt>\n<dd><p>Those plugins connect your site to Google Analytics for general traffic \u2014 visits and page views. They do not track the full WooCommerce shopping journey (cart, checkout steps, purchases with product details) or send purchases from the server when browsers block tracking. GIA GA4 is the WooCommerce \u2192 GA4 specialist. You can still use Site Kit alongside it for traffic charts in the dashboard.<\/p><\/dd>\n<dt id=\"does%20this%20send%20events%20to%20meta%2C%20tiktok%2C%20or%20other%20ad%20platforms%3F\"><h3>Does this send events to Meta, TikTok, or other ad platforms?<\/h3><\/dt>\n<dd><p>No. GIA GA4 focuses on Google Analytics 4 (and optional Google Ads purchase conversions). If you need every analytics and ad platform in one plugin, look for a multi-platform bridge \u2014 that is a different product.<\/p><\/dd>\n<dt id=\"what%20exactly%20gets%20tracked%3F\"><h3>What exactly gets tracked?<\/h3><\/dt>\n<dd><p>The shopping path: product and category views, add to cart, cart views, checkout start, shipping and payment choices, purchases, refunds, and checkout errors. You see these as events in GA4 and can build funnel reports there. The plugin also includes a simple view-to-purchase report in WordPress.<\/p><\/dd>\n<dt id=\"why%20does%20ga4%20show%20fewer%20purchases%20than%20woocommerce%3F\"><h3>Why does GA4 show fewer purchases than WooCommerce?<\/h3><\/dt>\n<dd><p>Common reasons: ad blockers, shoppers declining cookies, a cached thank-you page, or comparing live GA4 data to orders still processing. Add the API secret for server-side backup and use the built-in verification tool. GIA GA4 is designed to close that gap.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20block%20checkout%3F\"><h3>Does it work with block checkout?<\/h3><\/dt>\n<dd><p>Yes. Block cart, block checkout, mini-cart, and product collection grids are supported.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr%20compatible%3F\"><h3>Is it GDPR compatible?<\/h3><\/dt>\n<dd><p>It includes Consent Mode, privacy defaults, and integrations with popular cookie consent plugins. You are still responsible for your store\u2019s legal compliance.<\/p><\/dd>\n<dt id=\"can%20i%20track%20google%20ads%20purchases%20too%3F\"><h3>Can I track Google Ads purchases too?<\/h3><\/dt>\n<dd><p>Yes. Add your Google Ads conversion ID and label in settings (optional).<\/p><\/dd>\n<dt id=\"can%20staff%20view%20the%20dashboard%20without%20changing%20settings%3F\"><h3>Can staff view the dashboard without changing settings?<\/h3><\/dt>\n<dd><p>Yes. Developers can split \u201cview analytics\u201d and \u201cchange settings\u201d permissions \u2014 useful for agencies.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20subscriptions%3F\"><h3>Does it work with subscriptions?<\/h3><\/dt>\n<dd><p>Yes, with the WooCommerce Subscriptions plugin. Renewals without a browser session are still sent to GA4 from the server.<\/p><\/dd>\n<dt id=\"does%20it%20track%20profit%20or%20ad%20spend%3F\"><h3>Does it track profit or ad spend?<\/h3><\/dt>\n<dd><p>No. It focuses on getting accurate sales and funnel data into GA4. Use other tools for profit and ad spend analysis.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.7<\/h4>\n\n<ul>\n<li>Feature: Conversion Journey on the order edit screen \u2014 page path and channel touches from the visitor session<\/li>\n<li>Feature: Journey column on the orders list (legacy and HPOS) with a link to the order journey panel<\/li>\n<li>Feature: Optional conversion journey block in the WooCommerce New Order admin email (enabled by default; toggle under WooCommerce \u2192 Settings \u2192 Emails \u2192 New order)<\/li>\n<li>Improvement: Persist <code>_giawc_pages<\/code>, <code>_giawc_touches<\/code>, and visitor ID from the session cookie at checkout (including Blocks Store API)<\/li>\n<li>Improvement: Enhanced conversions on Measurement Protocol purchases \u2014 hashed <code>user_data<\/code> when Enhanced conversions is enabled<\/li>\n<li>Fix: Product (and other) pages no longer auto-refresh in a loop when a CMP re-confirms consent on load (e.g. CookiebotOnLoad) \u2014 removed the forced <code>location.reload()<\/code> on <code>giawc_consent_updated<\/code><\/li>\n<li>Fix: CMP consent grant is idempotent \u2014 <code>giawcCmpGrant()<\/code> no longer re-dispatches when analytics consent is already granted<\/li>\n<li>Feature: UTM Reports \u2014 group purchases by source\/medium, campaign, or landing page with orders, revenue, and AOV<\/li>\n<li>Feature: UTM Reports drill-down lists matching orders with links to each conversion journey<\/li>\n<li>Feature: UTM Link Builder \u2014 generate campaign URLs with standard UTM parameters<\/li>\n<li>Feature: UTM Reports and Link Builder appear under GIA GA4 and under Tools<\/li>\n<li>Improvement: Conversion journeys show total elapsed time since the first touch and time spent on each page<\/li>\n<\/ul>\n\n<h4>0.6<\/h4>\n\n<ul>\n<li>Fix: <code>add_to_cart<\/code> no longer double-fires on AJAX archive adds when detection is set to both \u2014 hook path skips AJAX when the JavaScript handler is active<\/li>\n<li>Fix: <code>view_item_list<\/code> no longer re-counts products on Product Collection load-more \u2014 impressed nodes are deduplicated client-side<\/li>\n<li>Fix: Dashboard traffic, product grid, and customer insights date windows use <code>bound_for_backend()<\/code> so legacy and HPOS order stores agree on timezone<\/li>\n<li>Fix: Catalog sale <code>discount<\/code> on <code>view_item<\/code> \/ <code>view_item_list<\/code> uses the same tax mode as resolved <code>price<\/code><\/li>\n<li>Fix: Server-side Measurement Protocol purchase, refund, and renewal events no longer blocked by frontend-only gates (pause, role exclusion, or admin context)<\/li>\n<li>Improvement: Cache-safe purchase tracking \u2014 thank-you page loads purchase via Ajax so page cache cannot reuse stale event data<\/li>\n<li>Improvement: Browser purchase timing setting \u2014 match server trigger (default) to avoid counting pending or failed orders in GA4<\/li>\n<li>Improvement: Add to cart detection setting \u2014 choose WooCommerce hooks, JavaScript, or both for theme compatibility<\/li>\n<li>Improvement: Order edit screen meta box shows browser\/MP tracking status, consent, UTMs, landing page, and GA4 IDs<\/li>\n<li>Improvement: <code>select_item<\/code> list attribution on WooCommerce Product Collection blocks<\/li>\n<li>Improvement: <code>_giawc_frontend_tracked<\/code> is set after the browser fires purchase, not when PHP renders the page<\/li>\n<li>Improvement: Server-side Measurement Protocol purchase validates order status before send<\/li>\n<li>Improvement: Admin notice recommends excluding the order-received page from full-page cache<\/li>\n<li>Improvement: Unified tax mode \u2014 exclude tax from event values now applies to cart, checkout, variation view_item, and line-item prices (not just purchase)<\/li>\n<li>Improvement: URL pattern exclusions \u2014 disable gtag and ecommerce scripts on matching paths (glob or regex)<\/li>\n<li>Improvement: Custom thank-you page ID for non-standard order confirmation pages<\/li>\n<li>Improvement: Role-based tracking exclusion beyond administrators (comma-separated role slugs)<\/li>\n<li>Improvement: Per-page \u201cDisable GA4 tracking\u201d meta box on public post types<\/li>\n<li>Improvement: FSE template-part block detection \u2014 block tracking loads when cart\/checkout\/mini-cart live only in block templates<\/li>\n<li>Improvement: Product Collection re-fires view_item_list when filters or pagination update the grid<\/li>\n<li>Improvement: All Products and cart cross-sells block list attribution<\/li>\n<li>Improvement: Tax-correct variation prices on view_item re-fire via giawc_price<\/li>\n<li>Improvement: Optional add_to_wishlist when YITH WooCommerce Wishlist is active<\/li>\n<li>Improvement: Blocks checkout handlers wrapped in fault isolation so tracking errors cannot break checkout<\/li>\n<li>Improvement: Consent script gating \u2014 Consent Mode event deferral or strong block until analytics consent<\/li>\n<li>Improvement: Custom region consent rules (e.g. US-CA:denied, DK:denied) with priority over geo defaults<\/li>\n<li>Improvement: CMP auto-detect on activation \u2014 Cookiebot\/CookieYes script attributes pre-enabled<\/li>\n<li>Improvement: CookieYes data-cookieyes script attribute toggle<\/li>\n<li>Improvement: window.giawcConsent API and giawc_event_should_defer \/ giawc_should_track_event filters<\/li>\n<li>Improvement: gtag defer-until-idle load strategy for PageSpeed<\/li>\n<li>Improvement: Purchase debug logging when browser purchase is skipped<\/li>\n<li>Improvement: Settings import from GTM4WP, Google Analytics for WooCommerce, or GTM Kit when no Measurement ID is set<\/li>\n<li>Improvement: Admin setup checklist and import success notice<\/li>\n<li>Improvement: <code>get_product_data()<\/code> per-request memoization reduces duplicate term, meta, and tax work on archive pages<\/li>\n<li>Improvement: Tracking reconciliation uses SQL aggregates instead of hydrating every order object<\/li>\n<li>Improvement: Product performance grid loads SKU from SQL instead of <code>wc_get_product()<\/code> per sold product<\/li>\n<li>Improvement: <code>Giawc_Tracking_Gate::should_track()<\/code> memoizes per user and queried object within a request<\/li>\n<li>Improvement: Page builder preview exclusion \u2014 skip tracking on Divi, Beaver Builder, Elementor, Bricks, and other builder edit\/preview requests<\/li>\n<li>Improvement: Pause browser tracking toggle \u2014 disable all frontend gtag and ecommerce events while server-side purchase backup, settings, and dashboard keep working<\/li>\n<li>Improvement: Additional measurement IDs \u2014 send the same gtag config to extra comma-separated GA4 properties (agency, staging, or duplicate streams)<\/li>\n<li>Improvement: Split analytics capabilities \u2014 separate view vs. configure access via <code>giawc_allow_view_analytics<\/code>, <code>giawc_allow_configure_tracking<\/code>, and capability filters<\/li>\n<li>Improvement: Admin assets load only on GIA admin screens (<code>giawc-*<\/code>) for better performance<\/li>\n<li>Improvement: gtag.js loads with <code>async<\/code> by default (unless defer-until-idle strategy is selected)<\/li>\n<li>Improvement: LiteSpeed Cache bypass on admin AJAX and REST responses used by the dashboard<\/li>\n<\/ul>\n\n<h4>0.5<\/h4>\n\n<ul>\n<li>Fix: Blocks <code>add_shipping_info<\/code> and <code>add_payment_info<\/code> used non-existent store APIs (corrected against WooCommerce core)<\/li>\n<li>Fix: Mini-cart remove links now tracked via <code>data-ga4-item<\/code> attribute<\/li>\n<li>Fix: Product JSON in HTML attributes uses WooCommerce <code>wc_esc_json()<\/code> for safe encoding<\/li>\n<li>Fix: Dequeue WooCommerce Blocks built-in Google Analytics script to prevent duplicate gtag configuration and double-fired events on block cart\/checkout<\/li>\n<li>Fix: Validate order key on thank-you page before firing browser purchase events<\/li>\n<li>Fix: Tabbed settings panels render fields correctly (WooCommerce table wrapper compatibility)<\/li>\n<li>Refocus: GA4 ecommerce event tracking (removed profit\/COGS, journey analytics, Meta CAPI, ad spend)<\/li>\n<li>Renamed from Trackify to GIA GA4<\/li>\n<li>Streamlined dashboard: Overview weekly insights, Traffic, Products, Customers, Settings<\/li>\n<li>Removed profit columns from product reports and weekly insights<\/li>\n<li>Improvement: Measurement Protocol sends <code>session_id<\/code>, <code>event_id<\/code>, and <code>engagement_time_msec<\/code> on purchase\/refund<\/li>\n<li>Improvement: <code>item_list_id<\/code> \/ <code>item_list_name<\/code> persist from <code>select_item<\/code> through cart and purchase events<\/li>\n<li>Improvement: Full <code>items[]<\/code> payloads on add-to-cart and remove-from-cart (classic + Blocks)<\/li>\n<li>Improvement: Sale <code>discount<\/code> on GA4 line items when products are on sale<\/li>\n<li>Improvement: <code>view_promotion<\/code> for on-sale products and store notices<\/li>\n<li>Improvement: Blocks checkout uses official WooCommerce cart\/payment stores and checkout failure events<\/li>\n<li>Improvement: <code>payment_failure<\/code> documented as always-on (not behind Extra GA4 events)<\/li>\n<li>Improvement: Blocks cart\/checkout prices use Store API line totals and cart totals (WooCommerce minor-unit format)<\/li>\n<li>Improvement: Accept Google Tag measurement IDs (<code>GT-<\/code>) in addition to <code>G-<\/code> IDs<\/li>\n<li>Improvement: Blocks mini-cart tracking on all WooCommerce Blocks stores with deduplicated remove-from-cart events<\/li>\n<li>Improvement: Per-event enable\/disable toggles for core GA4 ecommerce events<\/li>\n<li>Improvement: Cross-domain linker settings (domains + incoming parameters)<\/li>\n<li>Improvement: Product Bundles use minimum bundle price in GA4 item data<\/li>\n<li>Improvement: Admin warning when Google Analytics for WooCommerce or Site Kit snippet may duplicate GIA GA4 tracking<\/li>\n<li>Improvement: Settings page reorganized into Connection, Privacy, Events, and Advanced tabs<\/li>\n<li>Richer GA4 item data, improved server-side deduplication, and Blocks checkout tracking fixes. Recommended for all stores.<\/li>\n<\/ul>\n\n<h4>0.4<\/h4>\n\n<ul>\n<li>Improvement: Tabbed analytics dashboard (overview, products, customers)<\/li>\n<li>Improvement: First-touch UTM attribution saved to order meta<\/li>\n<li>Improvement: HPOS-compatible traffic source queries<\/li>\n<li>Improvement: Server-side purchase deduplication and new vs returning customer on purchase<\/li>\n<li>Improvement: Coupon, shipping, payment, and payment failure checkout events<\/li>\n<li>Improvement: Product image, GTIN, hierarchical categories, and brand in item data<\/li>\n<li>Improvement: WordPress script enqueue compliance (<code>wp_add_inline_script<\/code>)<\/li>\n<li>Improvement: Namespace prefix <code>giawc_<\/code> throughout<\/li>\n<\/ul>\n\n<h4>0.3<\/h4>\n\n<ul>\n<li>Improvement: WordPress.org compliance updates (prefixes, PHPCS, enqueue standards)<\/li>\n<li>Improvement: Database query optimization and HPOS compatibility<\/li>\n<li>Removed: Meta and TikTok tracking<\/li>\n<\/ul>\n\n<h4>0.2<\/h4>\n\n<ul>\n<li>Fix: PHP fatal error in settings API compatibility<\/li>\n<li>Improvement: Code standards compliance<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Set up complete WooCommerce conversion tracking in Google Analytics 4 in minutes. Skip the developer fees, the Tag Manager setup, and the hours of tri &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/275230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=275230"}],"author":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/userelements"}],"wp:attachment":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=275230"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=275230"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=275230"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=275230"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=275230"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=275230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}