*** Changelog ***

= 2.4.2 - 2026-09-08 =
* Declare compatibility with WooCommerce 11.1.0.
* Dev - Pin GitHub Actions and their nested dependencies to immutable commit SHAs.
* Fix - Strip the order key and other sensitive query parameters from the page URL and referrer sent to Google Analytics, and send an explicit denied consent state for undecided visitors on opt-in sites.
* Update GitHub Action references.

= 2.4.1 - 2026-08-25 =
* Fix - Purchase event no longer reports a false item discount in stores that enter prices inclusive of tax, and no longer drops coupon discounts for quantities above one; item price and discount are now per unit and tax-exclusive.
* Fix - Purchase event value now sums the item prices × quantity, excluding tax and shipping as GA4 expects, instead of the gross order total.
* Tweak - WordPress 7.1 compatibility.
* Update - Require WordPress 7.0+.

= 2.4.0 - 2026-08-06 =
* Dev - Run the PHP coding standards job when dependencies change.
* Dev - Update WPCS to 3.4.1 to pick up the fix for GHSA-3pwp-g2mj-5p3v.
* Update - Bump the minimum required WooCommerce version to 10.9 and the compatibility version to 11.0.

= 2.3.0 - 2026-06-25 =
* Update - Require WooCommerce 10.8+.

= 2.2.1 - 2026-06-22 =
* Dev - Fix E2E tests against current WooCommerce shipping and checkout behavior.
* Dev - Update vulnerable npm development dependencies.
* Fix - Prevent a fatal TypeError on PHP 8 when a cart item, order line, or product loop references a product that no longer resolves to a WC_Product.

= 2.2.0 - 2026-06-09 =
* Add - Add a read-only Google Analytics tracking settings ability.
* Add - Expose JavaScript tracking formatters and utilities for custom integrations.
* Add - Track checkout shipping and payment info events.
* Dev - Add CodeRabbit configuration and ignore .claude/settings.local.json.
* Dev - Add focused unit coverage for asset metadata and tracking settings snapshots.
* Dev - Add product formatter unit coverage.
* Dev - Enable min-release-age supply-chain protection requiring npm >=11.10.0.
* Dev - Expand purchase event E2E coverage for transaction and order totals.
* Dev - Remove deprecated Products (Beta) block from E2E test coverage; Product Collection coverage supersedes it.
* Dev - Store Google Analytics tracking settings on the tracking instance.
* Dev - Update npm dependencies and transitive overrides to resolve non-breaking security advisories.
* Dev - Update npm development dependencies for security fixes.
* Fix - Ensure all settings defaults are populated in `$this->settings` on fresh activation, preventing undefined array key notices.
* Fix - Persist add_to_cart event across cart redirect.
* Fix - Price minor-unit rounding.
* Fix - Rename misspelled public method `enquque_tracker()` to `enqueue_tracker()`; keep deprecated alias for backward compatibility.
* Fix - Track Store API add-to-cart events without duplicate analytics events.
* Fix - Track Store API cart quantity decreases as remove_from_cart events.
* Fix - Track classic add_to_cart events without a button when single-product data is available.
* Fix - Track view_item_list, add_to_cart, and select_content events correctly when the cart is empty and products are rendered via a Product Collection block.
* Fix - `item_list_id` and `item_list_name` in `view_item_list` GA4 events now reflect the actual page context (shop, category, tag, search) instead of hardcoded placeholder values.
* Tweak - Improve tracking payload limits, cart event binding, and linker domain validation.
* Tweak - Remove the compatibility declaration for the product editor beta, which is being retired in WooCommerce 11.0.
* Tweak - WC 10.8 compatibility.
* Tweak - WP 7.0 compatibility.
* Update - Declare compatibility with WordPress 7.0 while requiring WordPress 6.9 or newer.
* Update - Format product categories in parent-first hierarchy order.
* Update - Require WooCommerce 10.7+.
* Update - Use get_order_number() for transaction_id.

= 2.1.23 - 2026-04-15 =
* Dev - Enable min-release-age supply-chain protection.
* Dev - Override serialize-javascript to ^7.0.5 and ajv to ^8.18.0 to resolve npm security vulnerabilities.
* Update - Require WooCommerce 10.6+.

= 2.1.21 - 2026-02-10 =
* Tweak - WC 10.5 compatibility.
* Update - Require WooCommerce 10.4+.

= 2.1.20 - 2026-01-14 =
* Add WooCommerce 10.4+ Interactivity API Mini Cart compatibility.
* Dev - updated vulnerable packages.
* Tweak - WordPress 6.9 compatibility.
* Update - Require WooCommerce 10.3+.
* Update - Require WordPress 6.8+.

= 2.1.19 - 2025-10-30 =
* Fix - Add safe script tag encoding flags to all `wp_json_encode()` calls in inline scripts.
* Update - Require WooCommerce 10.2+.

= 2.1.18 - 2025-10-01 =
* Tweak - Don't throw errors when the product ID is not found for legacy Ajax add-to-cart.
* Tweak - WC 10.2 compatibility.
* Update - Require WooCommerce 10.1+.

= 2.1.17 - 2025-08-12 =
* Dev - Updated vulnerable dependencies.
* Tweak - WC 10.1 compatibility.
* Update - Require WooCommerce 10.0+.
* Update - Require WordPress 6.7+.

= 2.1.16 - 2025-07-01 =
* Tweak - WC 10.0 compatibility.
* Update - Require WooCommerce 9.5+.
* Update - Require WordPress 6.6+.

= 2.1.15 - 2025-06-04 =
* Tweak - WC 9.9 compatibility.

= 2.1.14 - 2025-04-15 =
* Tweak - WC 9.8 compatibility.
* Tweak - WP 6.8 compatibility.

= 2.1.13 - 2025-02-18 =
* Tweak - WC 9.7 compatibility.

= 2.1.12 - 2025-02-11 =
* Dev - Update npm dependencies to resolve all npm vulnerabilities

= 2.1.11 - 2025-01-21 =
* Tweak - Add required PHP header.
* Tweak - Replace WooCommerce logo to Woo 2.0 Brand.
* Tweak - Resolve plugin check errors and warnings.

= 2.1.10 - 2025-01-15 =
* Dev - Fix E2E tests for WC 9.6.
* Tweak - WC 9.6 compatibility.

= 2.1.9 - 2024-12-18 =
* Dev - Fix PHP unit tests - install svn.
* Dev - Improve E2E tests for related products.
* Tweak - WC 9.5 compatibility.

= 2.1.8 - 2024-11-14 =
* Dev - Fix missing blueprint dependency.
* Dev - WordPress 6.7 Compatibility: Fix the issue that E2E test can't log in to wp-admin.
* Tweak - WC 9.4 compatibility.
* Tweak - WP 6.7 compatibility.

= 2.1.7 - 2024-09-05 =
* Tweak - WC 9.3.0 compatibility.

= 2.1.6 - 2024-08-14 =
* Tweak - WC 9.2.0 compatibility.

= 2.1.5 - 2024-07-09 =
* Tweak - WC 9.1 compatibility.
* Tweak - WP 6.6 compatibility.

= 2.1.4 - 2024-07-02 =
* Dev - Upgrade npm dependencies.
* Dev - Upgrade to Node.js 20.
* Tweak - Add checks and explicit errors when cart buttons are missing data.

= 2.1.3 - 2024-06-25 =
* Add - WooCommerce Product Bundles integration.

= 2.1.2 - 2024-06-18 =
* Tweak -  Replace woo.com references with woocommerce.com.
* Tweak - Do not replace other extensions' `add_to_cart` listeners.

= 2.1.1 - 2024-06-12 =
* Tweak - Confirm WC_Cart is available before formatting cart data.
* Tweak - WC 9.0 compatibility.

= 2.1.0 - 2024-06-05 =
* Add - Integration with the WP Consent API plugin.
* Fix - Add E2E tests for denying via WP Consent API.
* Tweak - Document WP Consent API support.

= 2.0.7 - 2024-05-14 =
* Dev - Add a manual workflow run for PHP unit tests.
* Fix - Apply discounts to the ecommerce event if available.
* Fix - Incorrect quantity value when adding product to the cart that exists in the cart.
* Tweak - WC 8.9 compatibility.

= 2.0.6 - 2024-04-09 =
* Tweak - WC 8.8 compatibility.

= 2.0.5 - 2024-04-04 =
* Tweak - Register `woocommerce-google-analytics-integration` script earlier, so other extensions can plug in.
* Update - Separate the site tag from the event tracking file and delay execution until DOMContentLoaded.

= 2.0.4 - 2024-03-26 =
* Dev - Add QIT workflow.
* Dev - E2E tests for the All Products block.
* Dev - Remove unused functions from code.
* Fix - Warning after plugin install using wp-cli.
* Tweak - Add WP 6.5 Require plugins header.

= 2.0.3 - 2024-03-13 =
* Tweak - WC 8.7 compatibility.
* Tweak - WP 6.5 compatibility.

= 2.0.2 - 2024-03-12 =
* Dev - Add E2E testing to track events across all page types.
* Fix - Add to cart & select content events for All Products Block.
* Fix - Get correct variation data when formatting product.
* Fix - Handle AJAX add to cart for simple products.
* Fix - Purchase price format.
* Fix - Track purchase transaction ID.
* Fix - Typo with undefined variable.

= 2.0.1 - 2024-03-07 =
* Fix - Adding variable product attributes.
* Fix - Resolve Google Analytics not loading if gtag already exists on the window object.
* Tweak - Update Contributors list.
* Tweak - Update assets and readme for 2.0.

= 2.0.0 - 2024-03-05 =
* Add - Basic consent mode support.
* Add - Setting to specify the structure of the product identifier.
* Add - Update notice for merchants using a Universal Analytics Property ID.
* Dev - Remove options remapping, use settings directly.
* Fix - Prevent tracking orders multiple times and additional fixes.
* Remove - Universal Analytics code.
* Remove - Universal Analytics integration.
* Simplify tracker event handler API.
* Update - Add shared tracking functionality for WooCommerce Blocks and classic pages.
* Update - Extension branding to Google Analytics for WooCommerce.
* Update - Tracking for GA4 when using Blocks.

= 1.8.14 - 2024-02-07 =
* Tweak - Declare feature compatibility for the new product editor (also called product block editor).
* Tweak - WC 8.6 compatibility.

= 1.8.13 - 2024-01-09 =
* Dev - Upgrade all NPM dev dependencies.
* Dev - Upgrade to Node.js 18.
* Tweak - WC 8.5 compatibility.

= 1.8.12 - 2023-12-28 =
* Fix - Avoid JavaScript exceptions when sending checkout event tracking due to incompatible data structure.
* Fix - Correct misplaced each product index value as its quantity when sending checkout event tracking.

= 1.8.11 - 2023-12-18 =
* Dev - Prevent DB warnings in unit tests.
* Tweak - WC 8.4 compatibility.

= 1.8.10 - 2023-11-28 =
* Dev - Update phpunit polyfills to 1.1 for WP 6.4.
* Fix - Add semicolon after `gtag` calls.
* Fix - Prevent firing up the add_to_cart event when clicking in product image.
* Tweak - Test environment setup to resolve notice.

= 1.8.9 - 2023-11-07 =
* Tweak - WC 8.3 compatibility.
* Tweak - WP 6.4 compatibility.
* Update - Use new Woo.com domain.
* Update - WordPressCS to version 3.0.

= 1.8.8 - 2023-10-24 =
* Tweak - Declare cart_checkout_blocks feature compatibility.

= 1.8.7 - 2023-10-10 =
* Fix - JS syntax error on pages with cart and mini-cart rendered, which was causing purchases and cart removals not to be tracked.

= 1.8.6 - 2023-10-03 =
* Add - Privacy policy guide section.
* Dev - Enable since tag replacement.
* Fix - Track select_content instead of add_to_cart for variations.
* Tweak - Add documentation link with UTM parameters.
* Tweak - Tracking for Products ( Add To Cart and Impression) when using Products (Beta) Block.
* Tweak - WC 8.2 compatibility.

= 1.8.5 - 2023-09-14 =
* Dev - Add Workflow for generation Hooks documentation.
* Dev - Fetch WooCommerce and WordPress versions for our tests.
* Fix - Add To Cart and Impression events when using Blocks.
* Fix - Compat - Add PHP 8.2 support.
* Tweak - WC 8.1.0 compatibility.

= 1.8.4 - 2023-08-08 =
* Dev - Add release preparation GH workflow.
* Fix - Add async attribute in `google-tag-manager` script.
* Tweak - WC 8.0 compatibility.
* Tweak - WP 6.3 compatibility.

= 1.8.3 - 2023-07-11 =
* Dev - Set engines for the repository.
* Fix - Record consecutive cart removals.
* Tweak - WC 7.9 compatibility.

= 1.8.2 - 2023-06-13 =
* Tweak - WC 7.8 compatibility.

= 1.8.1 - 2023-05-09 =
* Fix - Fatal error when running with Elementor.
* Tweak - WC 7.7 compatibility.

= 1.8.0 - 2023-05-02 =
* Add - Create WordPress Hook Actions for Google Analytics.
* Add - Implement tracking with Actions Hooks.
* Dev - Implement JS Build (ES6) and JS Lint.
* Dev - Implement Javascript Building.

= 1.7.1 - 2023-04-12 =
* Fix - Bug with tracking enhanced ecommerce.

= 1.7.0 - 2023-03-28 =
* Dev - Load scripts via `wp_register_scripts` and `wp_eneuque_js`.
* Fix - Avoid duplication of Google Tag Manager script.
* Tweak - WC 7.6 compatibility.
* Tweak - WP 6.2 compatibility.

= 1.6.2 - 2023-03-07 =
* Tweak - WC 7.5 compatibility.
* Tweak - WP 6.2 compatibility.

= 1.6.1 - 2023-02-15 =
* Tweak - WC 7.4 compatibility.

= 1.6.0 - 2023-01-31 =
* Add - Common function for event code.
* Fix - Add PHP unit tests.
* Fix - Feature/consistency across gtag implementation.
* Fix - Fix inconsistencies across item data in events.
* Fix - Fix usage of tracker_var() in load_analytics().

= 1.5.19 - 2023-01-11 =
* Fix - undefined WC constant.
* Tweak - WC 7.3 compatibility.

= 1.5.18 - 2022-12-14 =
* Add - .nvmrc file.
* Tweak - WC 7.2 compatibility.

= 1.5.17 - 2022-11-09 =
* Add - New Google Analytics task in WC.

= 1.5.16 - 2022-11-03 =
* Add - Declare compatibility for High Performance Order Storage.
* Tweak - WC 7.1 compatibility.
* Tweak - WP 6.1 compatibility.

= 1.5.15 - 2022-10-04 =
* Add - Support for a Google Tag ID.
* Tweak - WC 7.0 compatibility.

= 1.5.14 - 2022-09-02 =
* Dev - Add branch-labels GH workflow.
* Dev - GH release config and the new PR template.
* Tweak - WC 6.9 compatibility.

= 1.5.13 - 2022-08-03 =
* Fix - Custom Order table compatibility.

= 1.5.12 - 2022-07-27 =
* Tweak - WC 6.8 compatibility.

= 1.5.11 - 2022-07-06 =
* Tweak - WC 6.7 compatibility.

= 1.5.10 - 2022-06-07 =
* Tweak - WC 6.6 compatibility.

= 1.5.9 - 2022-05-10 =
* Tweak - WC 6.5 compatibility.
* Tweak - WordPress 6.0 compatibility.

= 1.5.8 - 2022-02-02 =
* Add - Support for Google Analytics cross domain tracking features.

= 1.5.7 - 2022-01-13 =
* Fix - Activation error when WC was disabled.
* Tweak - WC 6.1 compatibility.

= 1.5.6 - 2021-12-29 =
* Fix - Confirm order key before displaying transaction tracking code.

= 1.5.5 - 2021-12-09 =
* Tweak - WC 6.0 compatibility.
* Tweak - WP 5.9 compatibility.

= 1.5.4 - 2021-11-10 =
* Fix - Remove the slow order counting query from admin init.
* Tweak - WC 5.9 compatibility.

= 1.5.3 - 2021-09-15 =
* Tweak - Avoid unnecessary completed orders queries.
* Tweak - WC 5.7 compatibility.
* Tweak - WP 5.8 compatibility.

= 1.5.2 - 2021-07-30 =
* Fix - Change utm_source and utm_medium in upsell notice link.
* Fix - add product links to readme.

= 1.5.1 - 2021-02-03 =
* Tweak - WC 5.0 compatibility.

= 1.5.0 - 2020-12-17 =
* Add - Option to use Global Site Tag and the gtag.js library (for Universal Analytics or Google Analytics 4).
* Add - Several new values added to the Tracker data.
* Add - Developer ID for gtag.js and analytics.js.
* Tweak - Bump minimum-supported WooCommerce version to 3.2.
* Tweak - Remove deprecated jQuery .click().
* Fix - Settings link in plugins table row points directly to plugin settings.
* Fix - Issue with multiple consecutive "Remove from Cart" events sent from the mini cart.

= 1.4.25 - 2020-11-25 =
* Tweak - WC 4.7 compatibility.
* Tweak - WordPress 5.6 compatibility.

= 1.4.24 - 2020-10-12 =
* Tweak - WC 4.5 compatibility.

= 1.4.23 - 2020-08-19 =
* Fix - Prevent transaction from being tracked a second time when page is reloaded locally or from cache.
* Tweak - WordPress 5.5 compatibility.

= 1.4.22 - 2020-06-05 =
* Tweak - WC 4.2 compatibility.

= 1.4.21 - 2020-05-04 =
* Tweak - WC 4.1 compatibility.

= 1.4.20 - 2020-03-29 =
* Fix - Change wc_goole_analytics_send_pageview fiter name to wc_google_analytics_send_pageview.

= 1.4.19 - 2020-03-09 =
* Tweak - WordPress 5.4 compatibility.

= 1.4.18 - 2020-03-04 =
* Tweak - Use code sniff version.
* Tweak - WC 4.0 compatibility.

= 1.4.17 - 2020-01-13 =
* Tweak - Update constant VERSION in plugin file

= 1.4.16 - 2020-01-13 =
* Tweak - WC 3.9 compatibility.

= 1.4.15 - 2019-11-04 =
* Tweak - WC 3.8 compatibility.

= 1.4.14 - 2019-09-04 =
* Fix - Google Analytics JS URL missing quotes.

= 1.4.13 - 2019-09-03 =
* Tweak - Make Google Analytics JS script URL filterable.

= 1.4.12 - 2019-08-13 =
* Tweak - WC 3.7 compatibility.

= 1.4.11 - 2019-08-02 =
* Add - Filter to bypass "send pageview" for users whom want to use separate standard GA. `wc_goole_analytics_send_pageview`.
* Fix - Revert last release due to it causing ecommerce tracking to be disabled when standard tracking is disabled.

= 1.4.10 - 2019-07-10 =
* Fix - Ensure universal analytics pageview doesn’t occur if standard tracking is disabled.

= 1.4.9 - 2019-04-16 =
* Tweak - WC 3.6 compatibility.

= 1.4.8 - 2019-03-04 =
* Fix - Event for deleting from cart not sent after a cart update.

= 1.4.7 - 11/19/2018 =
* Tweak - WP 5.0 compatibility.

= 1.4.6 - 11/06/2018 =
* Fix - Check for active WooCommerce plugin.

= 1.4.5 - 10/16/2018 =
* Tweak - Mention Google Analytics Pro in certain cases.
* Tweak - WC 3.5 compatibility.

= 1.4.4 - 03/20/2018 =
* Fix   - WC30 compatibility error when using deprecated get_product_from_item method.
* Fix   - Check object before using methods to prevent errors.
* Fix   - Variations not reporting category in cart tracking.
* Add   - Filter woocommerce_ga_disable_tracking added to disable tracking.
* Tweak - Rebuilt languages pot file.

= 1.4.3 - 06/15/2018 =
* Fix   - WC 3.x notice by using proper variation data.
* Add   - Option to track 404 (Not found) errors.

= 1.4.2 - 09/05/2017 =
* Fix - Missing Google Analytics ID.

= 1.4.1 - 01/05/2017 =

* Add - Filters for GA snippet (woocommerce_ga_snippet_head, woocommerce_ga_snippet_create, woocommerce_ga_snippet_require, woocommerce_ga_snippet_output)
* Add - Option to toggle on/off Enhanced Link Attribution
* Fix - JavaScript break by wrapping it in quotes
* Fix - Use ID and SKU data in a consistent way so that all products are correctly tracked.
* Fix - Updates for WooCommerce 3.0 compatibility.
* Add - Settings link to the plugin in the Plugins screen
* Fix - Fatal error on shortcode usage for empty product

= 1.4.0 - 20/11/2015 =

* Feature - Support for enhanced eCommerce (tracking full store process from view to order)
* Tweak - Setting up the plugin is now clearer with some helpful links and clearer language
* Tweak - New filter on the ga global variable
* Refactor - JavaScript generation functions have been moved to their own class

= 1.3.0 - 12/11/2014 =

* Feature  - Added the transaction currency in the tracking code
* Feature  - Add data privacy option that are mandatory in some countries
* Tweak    - Moved the tracking code to the head of the page
* Tweak    - Remove the "SKU" prefix to the sku for addItem
* Refactor - Integration class reformulated

= 1.2.2 - 15/10/2014 =

* Feature - Adding option to anonymize IP addresses
* Feature - Adding gaOptOut function to be called from any page for OptOut

= 1.2.1 - 17/09/2014 =

* Tweak   - Adding utmnooverride to return url for Google Adwords

= 1.2.0 - 28/07/2014 =

* Feature - Adding display advertising parameter to Universal Analytics
* Fix     - Using get_total_shipping() instead of get_shipping
* Fix     - Using wc_enqueue_js() instead of $woocommerce->add_inline_js(
* Tweak   - Updating plugin FAQ
* Tweak   - Adding parenthesis for clarity

= 1.1 - 29/05/2014 =

* Added option to enable Display Advertising
* Added compatibility support for WooCommerce 2.1 beta releases

= 1.0 - 22/11/2013 =

* Initial release
