{"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-06-24T04:29:20","modified_gmt":"2026-06-24T04:29:20","slug":"gia-conversion-tracking-for-ecommerce-google-analytics-4","status":"publish","type":"plugin","link":"https:\/\/ar.wordpress.org\/plugins\/gia-conversion-tracking-for-ecommerce-google-analytics-4\/","author":20447401,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.6","stable_tag":"0.6","tested":"7.0","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-06-24 04:29:20","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":0,"downloads":350,"num_ratings":0,"support_threads":0,"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"}},"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"],"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>WooCommerce knows your orders. GA4 often does not.<\/h4>\n\n<p>You install Google Analytics, paste a code, and wait. Page views show up, but you still cannot answer simple questions:<\/p>\n\n<ul>\n<li>Which products do people actually look at?<\/li>\n<li>How many add to cart but never buy?<\/li>\n<li>Where do shoppers drop off \u2014 the cart or checkout?<\/li>\n<li>Why does GA4 revenue not match WooCommerce orders?<\/li>\n<\/ul>\n\n<p>Most GA plugins only put Google Analytics on your site. They count visits. They do <strong>not<\/strong> track the <strong>shopping journey<\/strong> WooCommerce needs.<\/p>\n\n<p><strong>GIA GA4 is different.<\/strong> It is built only for WooCommerce stores. It tells Google Analytics 4 what shoppers do \u2014 from browsing products to completing (or failing) checkout \u2014 and backs up purchases from your server when ad blockers or cookie banners get in the way.<\/p>\n\n<p>Paste your Measurement ID. No Google Tag Manager. No developer required.<\/p>\n\n<h4>What you will see in GA4<\/h4>\n\n<p>GIA GA4 sends the steps shoppers take so you can build funnels and reports in Google Analytics:<\/p>\n\n<p><strong>Browsing<\/strong>\n* When someone views a shop, category, or search results\n* Which products appear in a list and get attention\n* When someone opens a product page (including size\/color changes on variable products)\n* When someone clicks a product from a grid or collection<\/p>\n\n<p><strong>Cart<\/strong>\n* When a product is added to cart\n* When something is removed from cart or mini-cart\n* When someone views the cart page<\/p>\n\n<p><strong>Checkout<\/strong>\n* When checkout starts\n* When a shipping method is chosen\n* When a payment method is chosen\n* When a coupon is applied or removed\n* When checkout fails (card declined, validation error, payment error)<\/p>\n\n<p><strong>Purchase &amp; after<\/strong>\n* When an order is completed \u2014 with order total, tax, shipping, coupons, and line items\n* When a refund is processed\n* Optional: sign-up, login, subscription events (if you enable them)<\/p>\n\n<p>You see <strong>how many people<\/strong> took each step and <strong>which products<\/strong> were involved \u2014 not just a final order count in WooCommerce.<\/p>\n\n<p><strong>GA4 ecommerce events<\/strong><\/p>\n\n<p><em>Discovery:<\/em> <code>view_item_list<\/code>, <code>view_item<\/code>, <code>select_item<\/code>, <code>view_search_results<\/code>, <code>view_promotion<\/code>\n<em>Cart:<\/em> <code>add_to_cart<\/code>, <code>remove_from_cart<\/code>, <code>view_cart<\/code>\n<em>Checkout:<\/em> <code>begin_checkout<\/code>, <code>add_shipping_info<\/code>, <code>add_payment_info<\/code>, <code>purchase<\/code>, <code>payment_failure<\/code>, coupons, shipping &amp; payment steps\n<em>After sale:<\/em> <code>refund<\/code> (browser + server)\n<em>Optional:<\/em> <code>login<\/code>, <code>sign_up<\/code>, <code>exception<\/code>, subscription lifecycle (with WooCommerce Subscriptions)<\/p>\n\n<p>Core funnel events can be turned on or off in <strong>Settings \u2192 Events<\/strong>. Checkout errors, coupons, shipping, and payment events always fire.<\/p>\n\n<h4>What this means for your store<\/h4>\n\n<ul>\n<li><strong>Find drop-off points<\/strong> \u2014 Lots of product views but few purchases? Problem may be the product page or price. Lots of carts but few checkouts? Problem may be shipping or trust at cart.<\/li>\n<li><strong>Trust your sales data in GA4<\/strong> \u2014 Purchases are tracked in the browser and backed up from your server so fewer orders go missing.<\/li>\n<li><strong>No double counting<\/strong> \u2014 When both paths work, GA4 receives one purchase per order, not two.<\/li>\n<li><strong>Works with modern WooCommerce<\/strong> \u2014 Classic themes and block-based cart and checkout.<\/li>\n<li><strong>Privacy-friendly setup<\/strong> \u2014 Consent Mode for EU\/UK shops, works with Cookiebot, CookieYes, Complianz, and other cookie tools.<\/li>\n<li><strong>Quick setup<\/strong> \u2014 Setup wizard, test tools, and warnings if another plugin might track the same thing twice.<\/li>\n<\/ul>\n\n<h4>How is this different from a normal GA plugin?<\/h4>\n\n<p><strong>A normal GA plugin<\/strong> (Site Kit, Meow Analytics, \u201cinsert header code\u201d plugins):\n* Puts Google Analytics on your website\n* Counts page views and sessions\n* Sometimes shows a traffic chart in WordPress\n* Does <strong>not<\/strong> track add to cart, checkout steps, or full purchase details for WooCommerce<\/p>\n\n<p><strong>GIA GA4:<\/strong>\n* Tracks the <strong>full shopping path<\/strong> in GA4\n* Sends <strong>product details<\/strong> with each step (name, category, brand, SKU, sale price, and more)\n* Works with <strong>WooCommerce Blocks<\/strong> cart and checkout\n* <strong>Backs up purchases from the server<\/strong> when the browser cannot send them\n* Handles <strong>consent and GDPR-style rules<\/strong> out of the box\n* Includes a <strong>simple dashboard<\/strong> for setup, shop health, and view-to-purchase \u2014 GA4 remains where you do deep analysis<\/p>\n\n<p><strong>Compared to basic \u201cGA for WooCommerce\u201d plugins<\/strong> that often only track purchase (sometimes add to cart), GIA GA4 covers the whole funnel and focuses on <strong>accurate numbers<\/strong>, not just flipping a tracking switch.<\/p>\n\n<p><strong>Compared to Google Tag Manager<\/strong>, you do not need to build tags, triggers, and containers. GIA GA4 is ready-made wiring from WooCommerce to GA4.<\/p>\n\n<h4>Who should use this<\/h4>\n\n<p><strong>Good fit:<\/strong>\n* WooCommerce store owners who want clear funnel data in GA4\n* Shops where GA4 shows <strong>fewer sales than WooCommerce<\/strong>\n* Stores in Europe or the UK that need proper consent handling\n* Stores using block checkout or product grids\n* Stores that also want Google Ads purchase tracking (optional)<\/p>\n\n<p><strong>Not the right fit:<\/strong>\n* You only want a simple visitor counter on a blog (use a lightweight GA plugin)\n* You already have a custom Tag Manager setup you are happy with\n* You want profit margins, ad spend, or Meta\/TikTok pixels inside this plugin<\/p>\n\n<h4>What is included<\/h4>\n\n<p><strong>Easy setup<\/strong>\n* Enter your GA4 Measurement ID\n* Optional API secret so purchases can be sent from the server too\n* Setup wizard and a tool to verify tracking is working\n* Can import settings from GTM4WP, Google Analytics for WooCommerce, or GTM Kit\n* Optional Google Ads conversion tracking\n* Optional extra Measurement IDs (for agencies or test properties)<\/p>\n\n<p><strong>Product data sent to GA4<\/strong>\n* Categories, brand, barcode (GTIN), variant, image, stock status\n* Sale discounts\n* Product ID or SKU (your choice)\n* Which list or category the shopper came from<\/p>\n\n<p><strong>Reliability &amp; control<\/strong>\n* Server backup for purchases and refunds\n* Safe thank-you page tracking even when the page is cached\n* Pause browser tracking for testing (server backup can still run)\n* Exclude staff, certain user roles, specific pages, or page-builder previews\n* Per-page \u201cdo not track\u201d option<\/p>\n\n<p><strong>Dashboard in WordPress (GIA GA4 \u2192 Analytics)<\/strong>\n* Overview \u2014 setup help and weekly shop summary\n* Traffic \u2014 GA4 sessions and channels (with Site Kit, optional)\n* Products \u2014 which products get views vs which actually sell\n* Customers \u2014 top customers by spend\n* Settings \u2014 connection, privacy, events, advanced options<\/p>\n\n<h4>What this plugin does not do<\/h4>\n\n<p>To stay focused and fast, GIA GA4 does <strong>not<\/strong> include:\n* Profit or cost-of-goods reporting\n* Facebook, TikTok, or other ad platform pixels\n* Full marketing attribution inside WordPress\n* A replacement for the GA4 website \u2014 use GA4 for deep reports<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>Tracking respects consent settings. Data defaults to \u201cdenied\u201d until the shopper agrees (configurable). Customer data used for enhanced conversions is hashed before it is sent and is not stored by this plugin. You are 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<\/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 (find it in GA4 \u2192 Admin \u2192 Data Streams \u2192 your stream \u2192 Measurement Protocol)<\/li>\n<li>Visit your store in a private browser window, add a product to cart, and check <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 built for WooCommerce ecommerce. You can still use Site Kit alongside it for traffic charts in the dashboard.<\/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.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":"Track the full WooCommerce shopping journey in GA4 \u2014 product views to checkout to purchase \u2014 with server-side backup when browsers block tags.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/275230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=275230"}],"author":[{"embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/userelements"}],"wp:attachment":[{"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=275230"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=275230"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=275230"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=275230"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=275230"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=275230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}