=== GGL Suite - WooCommerce Google Tag Manager and GA4 Tracking ===
Contributors: pluginbros, freemius
Tags: woocommerce, google tag manager, ga4, google ads, ecommerce tracking
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

WooCommerce GA4 ecommerce tracking, GTM dataLayer, Google Ads, Merchant Center feed, Customer Match and Tracking Health.

== Description ==

= WooCommerce Google Tag Manager and GA4 ecommerce tracking =

GGL Suite connects WooCommerce to Google Tag Manager with GA4 ecommerce dataLayer events, Google Ads purchase data, Consent Mode, attribution, a Merchant Center product feed, Customer Match, and Tracking Health. Its GTM container export includes matching variables, triggers, event tags, a base Google tag, Google Ads purchase mapping, and an import checklist.

The WordPress.org plugin is fully functional without a license, quota, trial, or mandatory account. Google output starts only after an administrator configures and enables it.

[View GGL Suite documentation](https://www.pluginbros.com/ggl-suite/docs/) | [Get support](https://www.pluginbros.com/contact/)

= Free WooCommerce tracking features =

* Google Tag Manager script and noscript installation.
* WooCommerce GA4 ecommerce events: view_item_list, select_item, view_item, add_to_cart, remove_from_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info, purchase, refund, view_promotion, and select_promotion.
* Checkout diagnostics plus product, order, value, currency, transaction ID, and event ID dataLayer values.
* Purchase deduplication, Google Ads purchase mapping, click IDs, remarketing, and browser Enhanced Conversions.
* Google Consent Mode v2, event suppression, WP Consent API, and common consent-platform updates.
* First/last-touch attribution with landing pages, referrers, UTMs, and Google/Meta click IDs.
* Tracking Health, duplicate detection, conversion coverage, event logging, and payload validation.
* Guided migration/setup plus importable personalized GTM web-container JSON.
* One secure daily Google Merchant Center XML feed with unlimited eligible products and variations.
* Basic Catalog Health for identifiers, images, price, availability, and Shopping readiness.
* One secure daily Customer Match audience containing all eligible WooCommerce customers, with consent handling and SHA-256 normalization.
* Product-cost detection, settings export, uninstall controls, and WooCommerce HPOS compatibility.
* Native support tickets, replies, attachments, and optional reviewed diagnostics.

= GGL Suite Pro: one WooCommerce measurement stack =

GGL Suite Pro is distributed separately; its code is not included here and cannot be unlocked with a license. Pro adds:

* Multiple product feeds and Customer Match audiences with advanced rules, markets, schedules, validation, segmentation, and SFTP.
* Purchase Protection with independent GA4 server delivery, retries, reconciliation, and browser/server deduplication.
* Server-side Enhanced Conversions, advanced routing, multiple conversion actions, and delivery alerts.
* Product-cost, margin, profit reporting, profit-aware conversion values and audiences.
* Local GTM caching, first-party proxy options, agency workflows, and priority support.

[Compare GGL Suite editions](https://www.pluginbros.com/ggl-suite/)

== Installation ==

1. Install and activate WooCommerce 8.2 or newer.
2. Install GGL Suite through Plugins > Add New, or upload the plugin ZIP.
3. Open PluginBros > GGL Suite.
4. Enter your GTM container ID if GGL Suite should load Google Tag Manager.
5. Review Consent & Privacy, then enable the WooCommerce dataLayer output you need.
6. Download the starter JSON from GTM Container and import it into a new GTM workspace.
7. Replace placeholder IDs, use GTM Preview and GA4 DebugView, and verify events before publishing.

== Frequently Asked Questions ==

= Does GGL Suite replace Google Tag Manager? =

No. It loads your container and pushes WooCommerce dataLayer events. You control tags, triggers, consent, and destinations in GTM.

= Can another plugin or theme load GTM? =

Yes. Disable GGL Suite GTM injection while keeping its dataLayer enabled, then check for duplicate events.

= Which WooCommerce events are included? =

The free plugin covers view_item_list, select_item, view_item, add_to_cart, remove_from_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info, purchase, refund, view_promotion, and select_promotion.

= Does purchase tracking fire twice after a refresh? =

GGL Suite stores purchase markers and event IDs on the order to prevent repeat events after a thank-you-page refresh.

= Are Product Feed Engine and Audience Engine included here? =

Yes. Free includes one secure daily Merchant Center feed with unlimited eligible products and one secure daily all-eligible-customer Customer Match audience. Pro adds multiple definitions, advanced rules, schedules, destinations, validation, and segmentation.

= Does the Support tab send diagnostic data automatically? =

No. Opening Support requests only public configuration. Other data is sent only when an administrator submits a form. Diagnostics require preview and explicit consent.

== Screenshots ==

1. Dashboard with tracking, health, feed, audience, and optimisation outcomes.
2. Track controls for GA4 ecommerce, Google Ads, and browser Enhanced Conversions.
3. Tracking Health with duplicate and conversion-coverage diagnostics.
4. Merchant Center Feed and Catalog Health.
5. Customer Match audience status, secure URL, and consent controls.

== Changelog ==

= 2.0.2 =
* Fixed frontend events bypassing GTM when its async runtime replaced `dataLayer.push` after GGL Suite loaded.
* Added consent-aware, duplicate-safe page-view recovery based on actual GA4 network evidence rather than a queued dataLayer event.
* Improved WooCommerce purchase, Store API session, and auto-selected checkout-method recovery while excluding non-online orders.

= 2.0.1 =
* Fixed access to GGL Suite tabs and editor routes when the shared PluginBros menu is created by GGL Suite.

= 2.0.0 =
* Added the complete WooCommerce GA4 event contract, Tracking Health, GTM setup assistance, feeds, Catalog Health, Customer Match, cost/profit tooling, Purchase Protection, trials, and Agency workflows by edition.
* Improved delivery reliability, background processing, storefront performance, and PluginBros administration.

= 1.2.0 =
* Added native support tickets, encrypted authentication, restricted attachments, consent-based diagnostics, and WordPress privacy tools.

== External Services ==

GGL Suite uses external services only when an administrator configures or invokes them.

Google Tag Manager: Loads the configured container and receives enabled ecommerce, attribution, consent, and event data. Terms: https://policies.google.com/terms Privacy: https://policies.google.com/privacy

Google Analytics 4: Receives enabled ecommerce and event data through configured GTM tags. Terms: https://marketingplatform.google.com/about/analytics/terms/us/ Privacy: https://policies.google.com/privacy

Google Ads: Receives configured conversions and remarketing parameters through GTM. Terms: https://payments.google.com/payments/apis-secure/u/0/get_legal_document?ldo=0&ldt=buyertos Privacy: https://policies.google.com/privacy

PluginBros Support Bridge: Opening Support requests public configuration from https://www.pluginbros.com/wp-json/pluginbros-support/v1/. Submitted forms may send name, email, installation ID, product/edition, plugin version, site URL, verification code or paid license key, ticket content, and attachments. License keys are validated once and not stored locally or included in diagnostics. Diagnostics require review and consent. PluginBros servers perform verification, authentication, ownership checks, rate limiting, attachment handling, and SupportCandy ticket processing. Terms: https://www.pluginbros.com/termsandconditions/ Privacy: https://www.pluginbros.com/privacypolicy/

== Privacy and Data Storage ==

Depending on settings, GGL Suite processes product, cart, order, event, URL, referrer, browser, UTM, click-ID, attribution, product-cost, and Customer Match data. Customer Match identifiers are normalized and SHA-256 hashed before storage/export; country and postcode remain normalized plaintext as required by Google. Store owners remain responsible for lawful configuration, consent, notices, and retention.

It may store settings, event logs, attribution cookies, order metadata, transients, and scheduled hooks. Attribution does not intentionally store raw IP addresses. Retention is configurable and logs can be purged or exported.

Native support stores an installation ID and encrypted credentials, name, and email in a non-autoloaded option. Ticket messages and diagnostics are not persisted locally. WordPress export and erasure tools cover the support identity.

== Uninstall ==

GGL Suite keeps ordinary plugin data on uninstall by default to prevent accidental configuration loss. Encrypted support credentials are always removed on uninstall. Disable the "Keep PluginBros settings, logs, cached files, and generated files" setting before uninstalling to request cleanup of the remaining plugin options, scheduled hooks, generated files, and the local event-log table.
