GTM4WP – A Google Tag Manager (GTM) plugin for WordPress

Description

Google Tag Manager (GTM) is Google’s free tool for everyone to manage and deploy analytics and marketing tags as well as other code snippets
using an intuitive web UI. To learn more about this tool, visit the official website.

This plugin places the GTM container code snippets onto your WordPress website so that you do not need to add it manually.
Multiple containers are also supported!

The plugin complements your GTM setup by pushing page meta data and user information into the so called data layer.
Google’s official help pages includes more details about the data layer.

PHP 7.4 is required to use this plugin.

GTM container code placement

The original GTM container code is divided into two parts:

The first part is a javascript code snippet that is added to the <head> section of every page of the website.
This part is critical to enable all features of GTM, and this plugin helps to place this part
correctly on your site.

The second part is an iframe snippet that acts as a failsafe/fallback should users’ JavaScript be disabled.
Google recommends – for best performance – to place this code snippet directly after the opening <body> tag on each page.

Albeit not ideal, it will work when placed lower in the code. This plugin provides a code placement option for the second code snippet.

If your WordPress theme is compatible with the additions of WordPress 5.2 then this plugin will place this second code to the right place.
Users of the Genisis theme, GeneratePress theme, Elementor, Oxygen Builder and Beaver Builder Theme will also have this placed correctly.
To utilize this, set the compatibility mode in plugin options to off.

All other users can place this second code snippet using a custom PHP code (“Manually coded” option) or select the so called “Footer” option to
add the code lower in the code (it is not the recommended way but will work)

Basic data included

  • post/page titles
  • post/page dates
  • post/page category names
  • post/page tag names
  • post/page author ID and name
  • post/page ID
  • post types
  • post format
  • post count on the current page + in the current category/tag/taxonomy
  • custom terms associated with any post type
  • logged in status
  • logged in user role
  • logged in user ID (to track cross device behaviour in Google Analytics)
  • logged in user email address (both unhashed and SHA256 hased values to be used with tracking)
  • logger in user creation date
  • site search data
  • site name and id (for WordPress multisite instances)
  • IP address of the visitor (please use the explicit consent of the visitor to utilize this)

Browser / OS / Device data

  • browser data (name, version, engine)
  • OS data (name, version)
  • device data (type, manufacturer, model)

Data is provided using the WhichBrowser library: https://whichbrowser.net/

Weather data

(beta)

Push data about users’ current weather conditions into the dataLayer. This can be used to generate weather-related
audience/remarketing lists on ad platforms and allows for user segmentation in your web analytics solutions:

  • weather category (clouds, rain, snow, etc.)
  • weather description: more detailed data
  • temperature in Celsius or Fahrenheit
  • air pressure
  • wind speed and degrees

Weather data is queried from Open Weather Map. Depending on your websites traffic, additional fees may apply:
https://openweathermap.org/price

An (free) API key from OpenWeatherMap is required for this feature to work.

ipstack.com is used to determine the site visitor’s location. A (free) API key from IPStack.com is required for this feature to work:
https://ipstack.com/product

Media player events

(experimental)

Track users’ interaction with any embedded media:

  • YouTube
  • Vimeo
  • Soundcloud

DataLayer events can be chosen to fire upon media player load, media is being played, paused/stopped and optionally when
the user reaches 10, 20, 30, …, 90, 100% of the media duration.

Tracking is supported for embedded media using the built-in oEmbed feature of WordPress as well as most other media plugins
and copy/pasted codes. Players injected into the website after page load are not currently supported.

Scroll tracking

Fire tags based on how the visitor scrolls from the top to the bottom of a page.
An example would be to separate “readers” (who spend a specified amount of time on a page) from “scrollers”
(who only scroll through within seconds). You can use these events to fire Analytics tags and/or remarketing/conversion tags
(for micro conversions).

Scroll tracking is based on the solution originally created by

  • Nick Mihailovski
  • Thomas Baekdal
  • Avinash Kaushik
  • Joost de Valk
  • Eivind Savio
  • Justin Cutroni

Original script:
https://cutroni.com/blog/2012/02/21/advanced-content-tracking-with-google-analytics-part-1/

Blacklist & Whitelist Tag Manager tags, triggers and variables

To increase website security, you have the option to white- and blacklist tags/triggers/variables.
You can prevent specific tags from firing or the use of certain variable types regardless of your GTM setup.

If the Google account associated with your GTM account is being hacked, an attacker could easily
execute malware on your website without accessing its code on your hosting server. By blacklisting custom HTML tags
and/or custom JavaScript variables you can secure the Tag Manager container.

Integration

Google Tag Manager for WordPress integrates with several popular plugins. More integration to come!

  • Contact Form 7: fire an event when a Contact Form 7 form was submitted with any result (mail sent, mail failed, spam detected, invalid input)
  • WooCommerce:
    • Implementation of GA4 E-commerce
    • Does not support promotions since WooCommerce does not have such a feature (yet)
    • Does not support refunds
    • Compatibility with High Performance Order Storage (HPOS)
  • AMP: load your AMP container on the AMP version of your pages
  • Cookiebot: use automatic cookie blocking mode if needed
  • Google Consent Mode v2: fire the “default” command with specific consent flags to integrat with non-certified Consent Management Platforms (CMPs) and plugins.

Server side containers

If you are using a server side container
you can enter your custom domain name and custom path to load gtm.js from your there.

Exclude specific user roles from being tracked

You can set which user roles needs to be excluded from tracking when a user with that role visits the frontend. This will completely disable the container code for that user.

Screenshots

  • Admin panel
  • Basic settings
  • Events
  • Integration panel
  • Advanced settings
  • Scroll tracking

Installation

  1. Upload duracelltomi-google-tag-manager-for-wordpress to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Settings / Google Tag Manager and enter your Google Tag Manager container ID and set additional options

FAQ

How can I …

Tutorials for various Google Tag Manager settings and implementation are available on the plugin’s website:
https://gtm4wp.com/setup-gtm4wp-features

PayPal / 3rd party payment gateway transactions in WooCommerce are not being tracked in Google Analytics

PayPal and some other 3rd party payment gateways do not redirect users back to your website upon successful transaction by default.
It offers the route back for your customer but it can happen that users close the browser before arriving at your thankyou page
(aka. order received page). This means that neither Google Analytics tags or any other tags have the chance to fire.

Enable auto-return in your payment gateway settings. This will instruct them to show a quick info page after payment
and redirect the user back to your site. This will improve the accuracy and frequency of tracked transactions.

Purchase event is not tracked with WooCommerce

If you are using a 3rd party plugin that alters the default order received page in a way that does not utilize the integration hooks
of WooCommerce then this can happen. Either stop using this 3rd party plugin or ask them to better mimic the behavior of the
default order received page by supporting the woocommerce is_order_received_page and the woocommerce_thankyou actions and filters.

Why isn’t there an option to blacklist tag/variable classes

Although Google recommends to blacklist tags and variables using classes, people struggle to know
which tags/variables gets affected. Therefore I opted for individual tags and variables rather than classes
on the blacklist tabs.

Regarding variables; ensure they are not part of any critical tags as blacklisting such variables will render said tags useless.

How can I track scroll events in Google Tag Manager?

Google Tag Manager supports basic scroll depth tracking based on percentage or pixels natively. This plugin adds
additional scroll tracking events, more focused on capturing the users’ intent and/or engagement.

There are five dataLayer events you can use in your rule definitions:

  • gtm4wp.reading.articleLoaded: the content has been loaded
  • gtm4wp.reading.startReading: the visitor started to scroll. The timeToScroll dataLayer variable stores duration since the article loaded (in seconds)
  • gtm4wp.reading.contentBottom: the visitor reached the end of the content (not the page!). timeToScroll dataLayer variable updated
  • gtm4wp.reading.pagebottom: the visitor reached the end of the page. timeToScroll dataLayer variable updated
  • gtm4wp.reading.readerType: based on time spent since article loaded we determine whether the user is a ‘scanner’ or ‘reader’ and store this in the readerType dataLayer variable

Example use cases: using these events as triggers, you can fire Google Universal Analytics and/or Google Ads remarketing/conversion tags
to report micro conversions and/or to serve ads only to visitors who spend more time reading your content.

Reviews

July 29, 2024
Support is nonexistent, enabling tracking post pages will break your site if it’s not a post not woocommerce page. Excluding administrator from tracking doesn’t work neither.
March 26, 2024
Since the “official” Google Analytics plugin for WooCommerce was broken by the developers and has been for weeks now I had to start looking for alternatives. I’ve used GTM4WP before as well and to be honest I’m not sure why I ever switched. Switching back to GTM4WP I can finally get conversions recorded again in my GA4! This is amazing! Why is this plugin even free? Would easily pay for it
March 21, 2024
The latest update broke tracking for myself and a lot of other people with no real response from developer. It also trashed my Analytics with some products showing numbers like this for added to cart: 100,000,000,000,001No longer recommended.
Read all 148 reviews

Contributors & Developers

“GTM4WP – A Google Tag Manager (GTM) plugin for WordPress” is open source software. The following people have contributed to this plugin.

Contributors

“GTM4WP – A Google Tag Manager (GTM) plugin for WordPress” has been translated into 9 locales. Thank you to the translators for their contributions.

Translate “GTM4WP – A Google Tag Manager (GTM) plugin for WordPress” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.20.2

  • Fix: Wrong ID parameter used tracking product variations (id instead of item_id). Thanks micmaf
  • Fix: do not track add_to_cart in product lists when ‘Select options’ or ‘View products’ buttons are clicked
  • Fix: JavaScript reference error while updating cart count in WooCommerce. Thanks Sakuk3
  • Fix: hash customerBillingEmailHash just like orderData.customer.billing.email_hash (for enhanced conversions, use the value in orderData)
  • Added: minimum required WooCommerce version (currently 5.0+) is displayed now on GTM4WP admin

1.20.1

  • Fix: do not load GTM container when OFF and console.log OFF. Thanks morvy
  • Fix: reverted a change where item_id in ecommerce data layer was converted to numeric type when the value was a numeric value. It will be kept as a string to preserve compatibility with other integrations.
  • Fix: JavaScript error when element ID not set correctly in scroll tracking
  • Changed: better normalize and hash user data with WooCommerce + orderData variable for enhanced conventions
  • Changed: PHP code optimization by hans2103
  • Added: New filter to be able to modify data in the orderData variable on a WooCommerce order received page. Filter can be accessed either using the GTM4WP_WPFILTER_EEC_ORDER_DATA constant or the gtm4wp_eec_order_data string.

1.20

THE BIG CLEANUP RELEASE!

Lots of deprecated features removed.
The code of WooCommerce integration was cleaned and restructured, if you have any custom code that relies on GTM4WP internal data structure,
please update the plugin on a test version of your website before updating your live site!

  • Removed: deprecated Universal Analytics events for WooCommerce
  • Removed: deprecated filter GTM4WP_WPFILTER_AFTER_DATALAYER/gtm4wp_after_datalayer
  • Removed: deprecated filter GTM4WP_WPFILTER_ADDGLOBALVARS/gtm4wp_add_global_vars
  • Removed: deprecated feature that puts the ‘Do not track’ option of the browser into the data layer. It is a deprecated browser feature therefore removed from this plugin.
  • Removed: deprecated Google Optimize integration
  • Removed: deprecated constants GTM4WP_OPTION_BLACKLIST_MACRO_* and GTM4WP_OPTION_BLACKLIST_
  • Removed: deprecated WordPress filter GTM4WP_WPFILTER_GETTHEGTMTAG (deprecated in v1.16)
  • Changed: lots of internal function names and variable names changed, although is not recommended to depend on them, if you did, check your code
  • Changed: renamed WP filter gtm4wp_datalayer_on_pageload to gtm4wp_woocommerce_datalayer_on_pageload to better reflect when it is called.
  • Changed: orderData data layer variable in WooCommerce integration now includes keys to better support enhanced conversions setup:
    • orderData.customer.billing.first_name_hash
    • orderData.customer.billing.last_name_hash
    • orderData.customer.billing.phone_hash
  • Deprecated: orderData.customer.billing.emailhash, please update to use orderData.customer.billing.email_hash (with an underscore)
  • Added: stockstatus key into the product array of every ecommerce action. Returns the value of WP_Product->get_stock_status(). Thanks hans2103.
  • Added: integration with WebToffee GDPR Cookie Consent plugin. GTM4WP can not fire a GTM event when user consent changes or when a previously stored consent has been loaded.
  • Fixed: add_payment_info and add_shipping_info events were not fired during checkout submit when not fired before on the page.
  • Fixed: GTM4WP will only look for the user’s IP address in the REMOTE_ADDR server variable. You may enter a custom HTTP header instead in plugin settings.

1.19.1

  • Fixed: run additional checks when determing product category to prevent PHP errors in certain cases
  • Fixed: corrected Consent Mode flag names in admin page description texts

1.19

WARNING!
Universal Analytics / GA3 ecommerce events deprecated!
Please update your GTM setup so that it does not rely on any of the following GTM4WP events and the old ecommerce data layer:
* gtm4wp.productClickEEC
* gtm4wp.addProductToCartEEC
* gtm4wp.removeFromCartEEC
* gtm4wp.checkoutOptionEEC
* gtm4wp.checkoutStepEEC
* gtm4wp.changeDetailViewEEC
* gtm4wp.orderCompletedEEC

Instead of the above events, you can use the new GA4 ecommerce events (add_to_cart, purchase, etc.)
In the Universal Analytics GTM tag now you have an option to use the GA4 ecommerce data in the data layer.
If you are on GA360 and still collecting ecommerce data, you need to update your GTM setup to use that option firing on the GA4 ecommerce events.

  • Updated: WooCommerce integration now accepts the primary category selection of Yoast SEO and Rank Math SEO
  • Updated: use the gtm4wp_admin_page_capability filter to modify the capability needed to use the admin page (thanks emreerkan)
  • Fixed: price did not include the .00 postfix for integers in the add_to_cart event
  • Added: if needed, you can turn on clearing the ecommerce object before a new GA4 event is being pushed.
  • Added: support for Google Consent Mode default command for use cases where the consent management tool does not support it already

1.18.1

  • Fixed: PHP notice about Undefined variable: blocking_cookie

1.18

  • Fixed: error while checking the new customer status in WooCommerce on the order received page (thanks morvy)
  • Fixed: Call to a member function get_meta() on null error on WooCommerce order received page (thanks Dekadinious)
  • Updated: WordPress and WooCommerce compatibility
  • Updated: Deprecated Google Optimize integration as the tool is sunsetting in September 2023
  • Added: Create a cookie named block_gtm4wp_geoip after a specific user selected cookie preferences. Set the value to either “yes”, “true”, “on” or “1” and the GeoIP (and weather API) feature will be disabled for that particular user

1.17

  • Added: pagePostTerms data layer variable will now also include a meta key with post meta values that does not start with the _ character. This should allow to utilize custom fields added by plugins like Advanced Custom Fields.
  • Added: new filter: gtm4wp_post_meta_in_datalayer to limit which post meta should be present with with the previously added feature.
  • Added: ability to use a custom path for your server side GTM container. This makes GTM4WP compatible with services like stape.io
  • Added: new advanced option to disable browser console.log() messages on frontend
  • Added: new filter: gtm4wp_purchase_datalayer to be able to alter data layer content for the purchase data
  • Added: new filter: gtm4wp_datalayer_on_pageload to be able to alter data layer content generated during page load
  • Added: customerBillingState and customerShippingState on WooCommerce order received page, thanks massimo-maimeri
  • Added: High Performance Order Storage (HPOS) compatibility for WooCommerce
  • Updated: WooCommerce integration will also check target attitbute of product links while firing select_item event, thanks [robklo])(https://github.com/robklo)
  • Updated: YouTube tracking will not load on pages not containing a YouTube block or a YouTube iframe
  • Fixed: add_to_cart event on grouped products not working when SKU is selected as product ID in plugin options.
  • Fixed: more reliable new_customer flag working with guest orders of existing customers, thanks morvy

1.16.2

  • Fixed: server side GTM hostname did not work if domain name included a hyphen character
  • Fixed: user login and user registration data layer events were swapped, thanks danvy for the fix
  • Fixed: JavaScript error in Chrome around event.target.closest calls, thanks pinkasey for the fix
  • Fixed: cast _ga_tracked variable as integer to make the identical operator work correctly, thanks Irfan for the suggestion
  • Fixed: removed extra code added in 1.14 that reloads pages in Safari in WooCommerce integration. It broke some sites.
  • Updated: required PHP version raised to 7.4. Currently, this is not a hard requirement but from now I could include updates that will require this PHP version.

1.16.1

  • Fixed: GTM ID not properly set in noscript tag (probably fixes some 403 errors with firewalls too)

1.16

This plugin version does not add or update any functionality.
After recent events, the code of the plugin has been checked line by line to see where additional security checks can be added.
The code has been formatted to better support readability for other programmers.

Deprecated:
* gtm4wp_get_the_gtm_tag hook and the corresponding GTM4WP_WPFILTER_GETTHEGTMTAG PHP constant.
* gtm4wp_add_global_vars hook and the corresponding GTM4WP_WPFILTER_ADDGLOBALVARS PHP constant. Use gtm4wp_add_global_vars_array / GTM4WP_WPFILTER_ADDGLOBALVARS_ARRAY instead.
* gtm4wp_after_datalayer hook and the corresponding GTM4WP_WPACTION_AFTER_DATALAYER PHP constant. Use gtm4wp_output_after_datalayer / GTM4WP_WPACTION_AFTER_DATALAYER instead witch can be used in the same way but it is an action instead of a filter.

Upcoming version will come with important changes:
* Minimum PHP version will be raised to 7.4: this will allow me to add even more safety measures
* Minimum supported WooCommerce version will be raised to WooCommerce 5.0: with this I can remove some very old compatibility code
* Deprecated features will be removed (aims to simplify code for better maintenance):
* Do not track flag of the browser added into data layer
* Legacy version of WooCommerce dynamic remarketing (using ecomm_ parameters)

The goal of all these changes aim to keep the plugin code clean and free from legacy solutions.

1.15.2

  • Fixed: Stored XSS when using the scroll tracking feature and an admin changes the content element ID into a JavaScript code.
  • Deprecated option: ‘do not track’ flag of the browser. This browser feature itself is now deprecated

Full scan of the plugin is also in works to fix any other possible XSS issue.

1.15.1

  • Fixed: JavaScript error with the newly added console logging to debug code placement issues
  • Fixed: possible XSS Vulnerability if Cloudflare country code option enabled. Thanks Guillaume Fortier
  • Fixed: proven XSS Vulnerability if adding site search into the data layer was enabled. Original report by not_stoppable. Root cause analysis by Cory Buecker.
  • Removed: deprecated feature Google Ads remarketing. This is the outdated, classic way using the google_tag_params variable.
  • Dev: removed PHP constant GTM4WP_WPFILTER_COMPILE_REMARKTING (related to removed Google Ads remarketing feature)
  • Dev: removed gtm4wp_compile_remarkering WordPress filter (related to removed Google Ads remarketing feature)

Note to plugin users: I sincerely appologize for the vulnerabilities. To make sure, such cases do not happen again,
the next version will be fully dedicacted to go through every peace of code and make sure proper data processing is happening in GTM4WP.

1.15

  • Added: pagePostType data layer variable will now return 404-error on 404 pages and search-results on search result pages
  • Added: Google Tag Manager container code can be disabled for specific WordPress user roles under Advanced plugin options. A browser console warning will be shown in such cases to prevent confusion
  • Added: support for all Contact Form 7 events for more granual tracking: gtm4wp.contactForm7MailSent, gtm4wp.contactForm7MailFailed, gtm4wp.contactForm7SpamDetected, gtm4wp.contactForm7InvalidInput
  • Added: additional data layer variables for date attributes: pagePostDateDayName, pagePostDateHour, pagePostDateMinute, pagePostDateIso, pagePostDateUnix – by ajtatum
  • Fixed: unclickable products in WooCommerce product lists in Firefox when visiting site in Strict privacy mode or using private browsing
  • Fixed: tracking step 2 on WooCommerce checkout page was broken
  • Updated: removed CDATA blocks as they are not required in simple HTML and they break some cases where code optimizer is being used
  • Updated: products per impression in WooCommerce integration now defaults to 10 instead of 0. This allows view_item_list event to fire on new sites as well
  • Updated: code placement options. Separated container on/off option and replaced code placement with the new terminology: compatibility mode
  • Updated: removed optional chaining operator usage (?.) in JavaScript codes for better compatibility with outdated browsers
  • Updated: changed ‘Do not flag orders as being tracked’ description to be more precise about what happens if turned on or left off
  • Updated: if you enter your custom domain name for server side tagging with the https:// prefix, it will be removed before domain name validation
  • Updated: all script blocks to be ignored by Cookiebot if this integration is enabled
  • Updated: do not track WooCommerce order where payment failed

1.14.2

  • Fixed: undefined google_business_vertical
  • Fixed: missing product price in product impression data
  • Fixed: better compatibility with cache plugins and lazy load functionalities
  • Fixed: Added optional chaining operator to form move tracker code

1.14.1

  • Bugfixes

1.14

  • Added: support for tracking WooCommerce Block based product lists, except the “All Products” block
  • Added: support for new_customer parameter for Google Smart Shopping campaigns
  • Added: SHA256 hashed versions of data layer variables containing email addresses: customerBillingEmailHash on WooCommerce order received pages and visitorEmailHash on generic uses cases
  • Added: WooCommerce – if for some reason is_order_received_page() reports false on the order received page, woocommerce_thankyou hook will be used as backup
  • Updated: removed jQuery dependency from plugin modules: contact form 7 integration, form move tracker, Vimeo, YouTube, Soundcloud, partly WooCommerce
  • Updated: moved the hidden helper span element in products lists to the end of the product box to make more compatible with themes
  • Updated: more consistent retrieval of product categories – by Dekadinious
  • Updated: gtm4wp_product_readded_to_cart cookie replaced with a WooCommerce session variable to use fewer cookies in this plugin
  • Updated: gtm4wp_user_logged_in, gtm4wp_user_registered and gtm4wp_last_weatherstatus cookies are now HTTP only cookies
  • Updated: replaced deprecated jQuery method and event usage in WP admin
  • Updated: added rel=”noopener” to links pointing to external sites on WP admin page
  • Updated: Hiding the iframe tag from assistive technologies as it provides no functionality for the end user. This will also alleviate a11y audit warnings.
  • Fixed: proper values for visitorType data layer variable
  • Fixed: replaced unsafe usage of eval() in WooCommerce QuickView plugin integration
  • Fixed: type check of the order ID obtained from a cookie before using the value
  • Fixed: navigation issues in Safari if browser loads previous page from cache. GTM4WP will now force Safari to always reload pages.
  • Fixed: Do not trigger browser change event in WooCommerce checkout page submit event handler. It caused issues with other 3rd party plugins.
  • Fixed: HTML5 detection. – by Sjoerd
  • Fixed: Username not included in datalayer if no other user attribute is included – by StaymanHou

1.13.1

  • Fix: better PHP8 compatibility
  • Fix: PHP notice on admin page

1.13

WARNING!
If you are using the geo or weather options of this plugin, make sure your hosting is using PHP 7.0 or newer!

If you are using the WooCommerce integration with enhanced ecommerce, once again you will need to update your GTM container.
Please check the setup article to see what needs to be changed.
The goal is to keep this setup in the upcoming versions.

  • Added: Google Business Vertical option to populate Google Ads dynamic remarketing
  • Added: Make automatic cookie blocking mode of Cookiebot to work with your Google Tag Manager container (new option in the Integration tab)
  • Added: support for server side containers with custom domains
  • Added: improved duplacate WooCommerce order tracking prevention by also checking the age of the order. You can adjust the value in minutes on the plugin options page – by Code-Craze
  • Fixed: prices rounded to 2 decimals in the data layer (WooCommerce integration)
  • Fixed: select_item event fired multiple times (at least twice)
  • Fixed: frontend protection to preveent double tracking transactions had a bug
  • Fixed: missing product detail and first checkout step tracking in WooCommerce shops with Enhanced Ecommerce
  • Fixed: JavaScript type error if product category is a number
  • Updated: WhichBrowser v2.1.1 (requires PHP 7.0 or newer)
  • Updated: descriptions of WooCommerce tracking methods to emphasize the importance to migrate from standard to enhanced ecommerce
  • Updated: added links to enhanced ecommerce setup guides (GA3 and GA4)

1.12.3

No new or updated functionality, but updated WooCommerce compatibility.

IMPORTANT!
If you are using the WooCommerce integration and enhanced ecommerce, please update your ecommerce event trigger to include gtm4wp.orderCompletedEEC as well.
https://gtm4wp.com/how-to-articles/how-to-setup-enhanced-ecommerce-tracking

1.12.2

If you are upgrading from 1.11.x, please read the previous changelog entry for v1.12

  • Fixed: error message in WooCommerce integration on PHP 8 hosts
  • Fixed: PHP notice about non existing blacklist-enable array key

1.12.1

If you are upgrading from 1.11.x, please read the previous changelog entry for v1.12

  • Fixed: PHP notice while saving admin options

1.12

WARNING!
If you are using the blacklist/whitelist feature of the plugin, review these options after upgrade as they could break because of a fundamental rework of this feature.

  • Added: support for Google Analytics 4 version of ecommerce data layer
  • Fixed: safer IP address validation in geo and weather data features
  • Updated: removed deprecated events: download links, email links, social links -> such can be now tracked with native Google Tag Manager triggers
  • Updated: removed support for WooCommerce versions before v3.2
  • Updated: ‘Blacklist tags’ tab renamed to ‘Security’
  • Updated: complete rework of blacklist/whitelist feature to use the latest tag/trigger/variable list of Google
  • Deprecated: classic ecommerce tracking will be removed later this year, please upgrade to enhanced ecommerce tracking
  • Deprecated: standard Google Ads remarketing variable will be removed soon as the Google Ads remarketing tag template can easily use any of your Google Tag Manager variables
  • Deprecated: the old fashioned way of using Google Ads remarketing with the ecomm_ prefixed data layer variables will be removed soon. Instructions for upgrade will be published on gtm4wp.com once this feature gets updated in an upcoming plugin version

1.11.6

  • Fixed: do not track hidden products in the cart in WooCommerce shops
  • Fixed: do not fire add to cart event if button is in a disabled state
  • Fixed: fixed translation of an admin text
  • Fixed: needs_shipping_address() calls were sometimes broken in WooCommerce shops, added additional checks to prevent
  • Updated: removed the body_class method of adding the iframe/noscript container code (page builders and the standard wp_body_open hook remains supported)

1.11.5

  • Fixed: new Google Optimize container ID format accepted now

1.11.4

  • Fixed: fire gtm4wp.checkoutStepEEC and gtm4wp.checkoutOptionEEC events if there is only one shipping method available and it is hidden from the user
  • Fixed: decrease checkout step numbers 3 and 4 if shipping destination is set to ‘Force shipping to the customer billing address’ in WooCommerce. This way there will be no gap in Checkout behaviour report in Google Analytics.
  • Updated: tested version number for WooCommerce

1.11.3

  • Fixed: use var_export instead of var_dump in some debug code,
  • Fixed: apply WooCommerce option for tax inclusion on the order received page as well
  • Fixed: JavaScript errors in Vimeo player
  • Updated: do not add type attribute to script elements if theme suppors HTML5
  • Updated: tested version numbers for WordPress and WooCommerce

1.11.2

WARNING!
If you are upgrading directly from v1.10.x, please read the changelog of v1.11 since it includes many important notices!

No change in plugin code, WP.org deployment of v1.11.1 included wrong directories

1.11.1

WARNING!
If you are upgrading directly from v1.10.x, please read the changelog of v1.11 since it includes many important notices!

  • Fixed: PHP notice about undefined order_items variable if the new ‘Order data in data layer’ is turned off
  • Fixed: PHP notice about missing brand array key if no brand taxonomy is selected in GTM4WP options

1.11

WARNING!
Please read the changelog very carefully as there are many important changes and removed features which could need your attention before updating!

  • Added Oxygen Builder and Beaver Builder Theme support – you can now use the codeless placement option without issues
  • Added ability to fix the Google Tag Manager ID and GTM Environment parameters in wp-config.php. To use it, create PHP constants with the names
    ** GTM4WP_HARDCODED_GTM_ID
    ** GTM4WP_HARDCODED_GTM_ENV_AUTH
    ** GTM4WP_HARDCODED_GTM_ENV_PREVIEW
  • Added support for WooCommerce Grouped Products
  • Added new WooCommerce option to add all order data into the data layer on the order reveived page
    ** This includes personal data of the customer -> you need to ensure this is used in a privacy friendly and compliant way!
    ** This order data will be always present on the order received page, even if the page is reloaded or later revisited!
  • Removed several unofficial data layer variables on the WooCommerce order received page as they can be read using the new order data option
    ** transactionDate
    ** transactionType
    ** transactionPaymentType
    ** transactionShippingMethod
    ** transactionPromoCode
  • Improved: price reporting with the WooCommerce enhanced ecommerce integration now follows the option set with the ‘Display prices in the shop’ option of WooCommerce
  • Improved: from WooCommerce 3.7 WC_Abstract_Order::get_used_coupons() was replaced with WC_Abstract_Order::get_coupon_codes() which is now used if WC 3.7+ is detected
  • Improved: use localStorage for WooCommerce duplicate transaction tracking prevention if available. Should be work with Safari at least for now.
  • Fixed: WooCommerce duplicate transaction tracking prevention’s cookie was set to expire on session end, now adds 1 year.
  • Deprecated data layer variable productIsVariable. Use the new productType data layer variable which will equal to simple, variable, grouped or external depending on the type of the product shown
  • Fixed: Wrong lookup for product brand name if Use SKU instead of product ID option was turned on
  • Fixed: Wrong lookup for product brand name for variable products
  • Fixed: check if $woo->customer is initialized
  • Fixed: no checkout step reported on WooCommerce checkout page if the user has accepted the default selection of the payment and shipping methods

! Planned deprecation of support for WooCommerce 2.x-3.1.x with next plugin version !
! Planned deprecation of support for WordPress 4.x with next plugin version !

1.10.1

  • Fixed: wrong cookie name was used with the newly introduced double transaction tracking protection while setting the cookie
  • Fixed: double transaction tracking JavaScript code is now only included on the order received page
  • Fixed: product impressions not properly reported if Products per impressions were set to 0
  • Fixed: replaced all references to AdWords to Google Ads

1.10

  • Added: Automatically add the noscript part of the container code after the opening body tag for WordPress 5.2+ sites where themes support the new wp_body_open action
  • Added: add associated taxonomy values for post type
  • Added: select brand taxonomy for WooCommerce products to populate “Product brand” dimension in enhanced ecommerce
  • Added: add cart content into data layer so that you can personalize your site experience using Google Optimize
  • Added: option to remove shipping costs from revenue data on order received page of WooCommerce
  • Added: if you enable either enhanced ecommerce or just Google Ads remarketing variables, 3 new data layer variables will be also available about the product on a detail page
    • Product rating details (productRatingCounts)
    • Average product rating (productAverageRating)
    • Review count (productReviewCount)
  • Added: if you are using Cloudflare, you can now add the country code HTTP header value into the data layer and read from it with the geoCloudflareCountryCode variable name
  • Fixed: better compatibility with Google’s mod_pagespeed
  • Fixed: missing product quantity while adding a variable product into the cart
  • Fixed: prevent multiple tracking of WooCommerce orders on mobile devices where the mobile browser reloads the order received page from local cache executing GTM tracking again

1.9.2

  • Fixed: possible PHP warning if geo data or weather data feature is turned on

1.9.1

  • Fixed: handle out of quota cases with ipstack queries properly
  • Fixed: proper YouTube tracking for WordPress sites and WordPress multisites installed in a subdirectory
  • Fixed: properly detect client IP address and also properly escape this data while using it
  • Fixed: WooCommerce checkout steps after page load did not include products in the cart
  • Fixed: checkout step events for payment mode and shipping type not always fired
  • Fixed: the CMD on Mac will be treated just like the Ctrl key on Windows while processing the product click event in the WooCommerce integration (thy for luzinis)
  • Fixed: add currencyCode to every ecommerce action in WooCommerce integration
  • Fixed: better WooCommere Quick View integration
  • Fixed: possible cross site scripting vulnerability if site search tracking was enabled due to not properly escaped referrer url tracking
  • Changed: code cleanup in WooCommerce integration

1.9

  • Added: initial support for AMP plugin from Automattic (thx koconder for the contribution!)
  • Added: option to remove tax from revenue data on order received page of WooCommerce
  • Added: WooCommerce enhanced ecommerce datasets now include stock levels
  • Added: new productIsVariable data layer variable is set to 1 on variable WooCommerce product pages
  • Added: product impressions can now be split into multiple chunks to prevent data loss on large product category and site home pages (thx Tim Zook for the contribution!)
    • IMPORTANT! You will need to update your GTM setup, please read the new Step 9 section of the setup tutorial page.
  • Added: you can now disable flagging of WooCommerce orders as being already tracked once. In same cases (with iDeal for example) you may need this to make purchase tracking to work.
  • Added: uninstalling the plugin will now remove configured plugin options from database
  • Added: new advanced plugin option: data layer variable visitorDoNotTrack will include 1 if the user has set the do not track flag in his/her browser
  • Added: new data layer event when a user has logged in on the frontend: gtm4wp.userLoggedIn
  • Added: new data layer event when a new user has registered on the frontend: gtm4wp.userRegistered
  • Added: new advanced plugin option: move data layer declaration and Google Tag Manager container as close as possible to the beginning of the HTML document
  • Added: better WP Rocket support
  • Updated: Full Google Optimize support. Now the plugin can load your Google Optimize container with the recommended code placement
  • Updated: moved most of the inline JavaScript codes into separate .js files which should help cache plugins to do their job much better when my plugin is active
  • Fixed: wrong ecomm_pagetype on product search result pages
  • Fixed: PHP notice in some cases when geo data was not loaded properly
  • Fixed / Added: freegeoip.net was rebranded to ipstack.com and an API key is needed now even for free usage. You can now add your API key so that weather data and geo data can be added into the data layer
  • Warning: some plugin features will be remove from v1.10, most of them can be tracked now using pure Google Tag Manager triggers:
    • Social actions
    • Outbound link click events
    • Download click events
    • Email click events
  • Warning: PHP 5.6 is now the minimum recommended version to use this plugin. I advise to move to PHP 7.x

1.8.1

  • Added: new visitorIP data layer variable to support post-GDPR implementations where for example internal traffic exclusion has to be made inside the browser
  • Fixed: JavaScript error around the variable gtm4wp_use_sku_instead
  • Fixed: added _ as a valid character for gtm_auth GTM environment variable
  • Fixed: corrected typo – gtm4wp.checkoutStepEEC
  • Fixed: two strings were not recognized by WordPress Translate on the admin page
  • Fixed: some other plugins call found_variation event of WooCommerce without product variation data being included
  • Fixed: product name included variation name on order received page which broke GA product reports
  • Fixed: in some cases, no contact form 7 data was being passed to the gtm4wp.contactForm7Submitted event
  • Updated: added CDATA markup around container code for better DOM compatibility
  • Updated: removed ‘SKU:’ prefix text from classic ecommerce dimension as it broke some enhanced ecommerce reports

1.8

  • Fixed: weather data tracking codes could result in fatal PHP error
  • Fixed: cart events did to fire while user pressed the Enter key in quantity fields
  • Fixed: contact form 7 changed some code which prevented successful form submission tracking
  • Changed: links to plugin website updated
  • Changed: gtm4wp.cf7formid data layer variable now includes the ID of the form in WordPress
  • Added: gtm4wp.cf7inputs includes data that has been filled in the form
  • Added: WooCommerce compatibility headers
  • Added: admin warning for WooCommerce 2.x users. This plugin will drop support for WooCommerce 2.x soon
  • Added: postFormat data layer variable on singular pages
  • Added: customer* data layer variables with stored billing and shipping data, total number of orders and total value of those orders (needs WooCommerce 3.x)
  • Added: geo* data layer variables to get country, city, lat-lon coordinates of the visitor
  • Added: visitorUsername data layer variable with the username of the logged in user
  • Added: more detailed checkout reporting for WooCommerce sites
    • Add gtm4wp.checkoutStepEEC to your Ecommerce Helper trigger
    • Change a typo: gtm4wp.checkoutOptionECC => gtm4wp.checkoutOptionEEC
  • Added: option to include full product category path in enhanced ecommerce reporting (can cause performance issues on large sites!)
  • Added: initial support for Google Tag Manager Environments
  • Added: support for WooCommerce Quick View plugin
  • Updated: description of code placement options to clarify what this option does
  • Updated: cleanup of readme.txt, spelling and grammar improvements
  • Updated: bundled WhichBrowser lib v2.0.32

1.7.2

  • Fixed: in some cases, the remove item from cart link in a WooCommerce cart was not altered properly with additional tracking codes
  • Fixed: product categories were empty in the cart, on the checkout pages and on the order received page for product variations
  • Fixed: checkout option data included checkout step #1 if cart page was setup to be the first
  • Fixed: even more WooCommerce 3.x compatibility
  • Added: registration date of the logged in user can be added to the data layer
  • Updated: geoplugin.net has been replaced by freegeoip.net for weather tracking which has far better quota for free usage
  • Updated: Google Ads dynamic remarketing data layer items on a WooCommerce product page will be shown for the root product as well on variable product pages
  • Updated: Selecting a product variation will include the price of the product in Google Ads dynamic remarketing data layer items
  • Updated: minor code cleanup

1.7.1

  • Fixed: PHP 5.3 compatible syntax in frontend.php
  • Fixed: PHP error using classic ecommerce with WooCommerce 2.6.x
  • Updated: Added data-cfasync=’false’ to all elements to prevent CloudFlare to load scripts async
  • Added: Warning for users of PHP 5.4 or older to consider upgrade (FYI: PHP 5.5 and older versions do not get even security fixes)

1.7

  • Updated: even better WooCommerce 3.0 compatibility (WooCommerce 2.6 still supported but this support ends with the next plugin version)
  • Fixed: properly escaping product category name on variable product detail pages
Malaking puwang ng bass splash review Bakit pinapayagan ng pamahalaan ang operasyon ng mga monopolyo How to play Super Ace jili Nice88 club withdrawal Esball online casino com registration Nuebe Gaming legit HB888 Casino real money Casino bonus no deposit free spins 2021 12 Titans Greek mythology online slot machines for real money free play Mines jili login download Allin88 ph login Casino Guru gratis Vegas World login Apanalo online game no deposit bonus 77ph Himala himala wikipedia 啶掂啷嵿ぐ啶ぞ啶?啶曕啶ぞ 啶灌? 啶す 啶囙い啶ㄠぞ 啶栢い啶班え啶距 啶曕啶啶?啶灌啶むぞ 啶灌? Mnl168 online casino register philippines login Bally slot machine value Jili live casino no deposit bonus Gcash gambling reddit philippines tamabetcasino Jili magic lamp app Mwplay888 net download for android Vegas Live Slots hack APK Clive and jill sidequest ffxvi Jiliasia online casino Online bingo jili withdrawal Chili for a crowd Silver Palate Jili168 register philippines Jili mk casino Jili cc download for android Habanero online casino games philippines Philucky withdrawal format 377 jili login register philippines Jili slots download Bsa387 login password Ginto Casino link 49jili login to my account login philippines app Royal777 casino no deposit bonus 8 juli feiertag wikipedia Ano ang mga flash game sa hollywoodbets app download Game of Thrones Slots referral code Igt address manila Zynga slots free coins cheat android Jilicash real money withdrawal Paano gumagana ang mga online slot machine login Ezwin online casino philippines Peso88 login register Jili kaganapan login register Winning plus 8 login philippines masuwerteng iikot ang mga nakakalokang slot 123jili app Login casino games online unblocked Transaction password USDT Baccarat games online real money Appointment slots vs appointment schedule quick hit slots commercial actor Multiclass spell slots table Slot schedule template 啶灌啶曕啶?啶曕ぞ 啶い啷嵿い啶?啶曕た啶むえ啶?啶灌啶むぞ 啶灌 Jili jackpot 777 download for android latest version Million 888 casino login register Tongits go apk unlimited money latest version Pinakamahusay na jili slot game download YE7 Download App BET99 Quebec Free 100 online casino registration facebook page 2021 slots no deposit bonus Online gambling philippines real money Jilibet casino login philippines Super Royal 777 Slots go casino login Register Youtube ng slots today Peso 888 apk Mini777 register download PG gaming casino login Wizard of Oz free coins gamehunters Philippine News today live 247Spin free 100 spin the wizard of oz slots free coins E2 jili casino login Konjac jelly Japan Big bet review korean Online casino Philippines News 7 Juli 2024 memperingati Hari Apa Jili 747 casino login Winph 777 login philippines app benefits of online casino games Wild aces online casino real money Mwcash88 Bonus hunter cc email Maduna clan names FF16 change party members Online casino games real money free spins no deposit Dbx casino real money philippines Okada online casino apk latest version Skype Download for PC Jilibet donnalyn login Register online casino 777 Pub download old version Spaghetti Jollibee price Jili no 1 login register Jiliasia app apk Super slots apk old version 646 casino login Register Philippines Listahan ng laro ng skillz login Totoong online pokies philippines release the kraken clash of the titans (1981) Casinos online real money philippines Phil168 APK Download Chumba Casino login Www 49 jili casino login password Fb jili casino login download apk Jlbet slot login Jili 777 lucky slot login register philippines apk Pagcor logo meaning Hard Rock online casino login 77ph com login password download Ano ang gamot sa mataas ang sugar Online casino download APK Geely Emgrand price Philippines BLBET Tapwin 2024 download apk Lodi 646 casino login ph Royal558 download Abc jili register philippines download LVJILI login Royal fishing jili download for android Free60 casino philippines Kk jili libre 58 real money download PHFUN login Nice88 download free ios Best penny slot machines to play at the casino for beginners portal.pagcor.ph sitemap online casino games no deposit bonus Unlapi AAA Jili login Bongobongo ug Casino Jili x yb download apk do 888 casino register Cash Rush slots 777 apk latest version Free online casino games win real money no deposit Philippines Fortune 888 login password Slots casino login no deposit bonus 49 jili time philippines download Nuebe register login Jili fishing game download free Win99 casino philippines Bingo Super Star download 55bmw win withdrawal Jili kilig login download Superball Keno online Hacksaw slots real money Pagcor address philippines 188 jili demo account hack Vegas online casino games free play Jili 49 net casino login philippines 777 jili jackpot apk latest version Fc slot demo free download Jili under maintenance today download android 3 patti slots patti online play Jili bingo download for android Smbet register philippines Osm jili register mobile number philippines MWGAMING 188 register Nuebe agent login philippines Online casino color games philippines Is Winford Casino open today Jili update today WK777 slot Jili casino review philippines slotomania online Lucky jili slots login register mobile 188 jili casino login download philippines Baccarat game strategy reddit Jili22 promotion How to withdraw in jili slot online 1xslots login Mnl168 online casino register philippines login Paano maglaro ng slot gambling login casino for real money online Best online casino Philippines reddit Jili deposit 50 withdrawal limit Nextbet philippines registration 168jili login registration Www royal888casino net register Double Win Withdrawal App Fisheries department officials 777 Lucky JILI Slots Casino APK download Nz online casino games real money 888php withdrawal Jili mines predictor apk Online casino jackpot slots free play yy777cam Jili one login download mainstream records lee young-ji 77ph com download free 49 jili years login register Jili slot club jackpot 777 download free money philippines Www betvisa games app 1888 jili casino withdrawal online July 10 religious holiday Labet88 login registration 2021 Osm jili casino online games philippines download Money 888 login download Empire slot machine download Ireland online casino games free play Kk jili casino login registration download apk 1000 free games to play with friends Poseidon god son Jili lucky slot app download Big baller club casino login registration philippines Fish Hunter - Shooting Fish Pnp 888 jili slot game login app Limbo game download for PC Highly Compressed Jili jackpot 777 download apk ios slot machine free games free spins deposit bonus Jackpot meter app for android Instant withdrawal betting app Dama N.V. casinos no deposit Bonus Joy 7 casino login free chips Eliakim Sadoki Hadaa Ya Walimwengu Gemdisco login 08 jili register app Jollibee slot casino login philippines register online Award winning chili recipe Allrecipes Helens Slot APK old version Mga kahinaan ng mga pragmatic slot machine login Jili pulang sobre register online Jili777 free 150 no deposit bonus Philippines Jili no 1 com withdrawal philippines Slot online game free real money Jackpot joker jili demo free download Best pg slot game free no download Wagi77 login Philippines Rich9 pinakamainit na laro login Fortune gaming88 login philippines Royal Slot Login Fun facts about July 19th Geely gx3 fiche technique philippines IND slots APK yono Ox jili slot withdrawal What happened on October 7 Al Jazeera 777 pub com login download Nice88 app 99 Fortune Casino login Register Tmtplay888 Jiliplay login download Love jili vip login password 888bet registration online Dragon vs Tiger hack apk Lucky JILI slots login register Kpl casino Online casino game for real money free play 777pub open now promo Video poker jacks or better strategy chart Jili 365 casino login register philippines no deposit bonus download Free slots com party bonus Animal Husbandry Minister Bihar list 188 JILI casino login registration Philippines Anuani ya katibu tawala mkoa wa dar es salaam NetBet registration Fg777 register philippines 90 jili live login download One slot game download Agent GEMDISCO Jili 999 com withdrawal Jilimk casino log in no deposit bonus tg777 login register philippines Pagcor login philippines List of licensed POGO in Philippines 2023 How many cannabinoid receptors are there in the human body Q25 jili download ios Ff777 vip login Jili 49 dot com registration philippines Ano ang speed roulette review Ph joy vip login registration philippines 4 ram slots which ones to use Mga puwang ng video youtube Jackpot Party Instagram free coins www.free facebook.com log in Betvisa download for android 49jili pogcor Betso888 login download Jollibee slot login Fruit Theme Birthday Party Wjslot claim form Nextbet Live Casino Lotto go Jili volatility calculator philippines Teenage Kraken Salish Matter Lucky 777 online casino login philippines Slotomania 777 casino real money Mega ace jili demo apk latest version Falcon Play customer service www.666.com games Bingo Jili PH Slots earning app real money no deposit Canara Bank Internet banking PIN generation 8K8 vip login Philippines No 1 jili app for android free download Gonzo's Quest max win 9 Pots of Gold land and win What does Mr Mike Slots do for a living Jili fc slot real money no deposit bonus Ph macao jili register download limbo apk + obb download Swcup6 net live login Register philippines Free slots 8888 no deposit philippines Jili tadhana slots download free Free casino slots 3 lines no download Jili okbet real money philippines Jili88 ph com register login password Slots earning app real money download Jili apps download free for android ios Kurdish traditional dress Labet88 online casino Ez jili telegram ios 94067 water heater door installation Real Boxing 3 download Best casino online Wishbone Games Nextbet login mobile registration Jili no 2 login no deposit bonus Poder Judicial Superace88 club login registration link Triple match 3d master mod apk Sino ang cowboy slots wife Jili 5678 casino login poker star Apanalo casino app login KK JILI casino login app apk Www gibson casino www gibsoncasino com login APEX slot download Best free slot machines play for free no deposit Mining Telegram group link Jili t7 real money Jili369 app download Progressive jackpot meter link Lampara ng genie philippines Best free slots with bonus Asia JILI casino register 888 ladies slots login UNO Spin Millionaire Dimm slots reddit King game app download apk Yy777 index login No deposit slots real money Yeriko by injili bora choir session 49 jili road register philippines Jili slot 777 login register online no deposit bonus philippines 啶啶?啶曕 啶啶班が啶?啶曕ぐ啶ㄠ 啶曕 啶夃お啶距く GGBet welcome bonus Is the 49ers coach a Christian Sino ang may akda ng medusa Ace Super ph casino Login games.747 games.ph/launchgame open now Tiktok video Zili 7 Gold Fruits slot Peraplay APK download Labet88 register philippines app Love jili vip login philippines Slots download free Jili slot jackpot login register Junglee Rummy APK Paddy power virtue Welke dag is het vandaag in belgie Nn777 login philippines app Pb777 login id and password free Sweet Bonanza free spins no deposit Online slots casino 888 real money no deposit online casino games real money Osm jili casino Megaways slots login Konami free slots no download Big Bass Hold and Spinner Megaways demo Jili 888 register Jili mines download free Best free video poker no download fishing slot casino - free 100 000 coins Jili22 NEW com register Big Bass Bonanza Geely subsidiaries in philippines State fish of bihar in english Game of Thrones Slots Casino free coins hack Lucky jili casino login registration philippines apk Mga laro ng slot na nagbabayad ng totoong pera apk Niceph casino real money Fortune Dragon PG slot demo Reference generator Jili88ph net register download FG7777 Jili super win apk best online casino games to win money Bagong jili register app 777sm vip login Jl bet slot register Jili casino sign up bonus no deposit philippines Phlove Casino Login Register Jili slot online real money Ez jili code free download Cannabinoids structure How does Dragon Link slot work 188 jili casino download free Which casino has the most winners in Vegas Goldfish slots apk Fisheries, Bihar gov in Medusa megaways real money Mwcash88 casino login Best time to play crazy time reddit Voslot jili register philippines Ang tao ba ay nagmula sa unggoy PHL63 login register Demo Jili Golden Empire Download app and get bonus Pogibet free 100 philippines 22FUN APK Lucky JILI Casino login registration Win win Game zambia online app download Win100 com casino group win100 originals win100 originals register Mlbb Win Rate Calculator APK Mi777 casino login philippines register Do888 casino login no deposit bonus Jill Scott net worth 8 jili slot download for android 55X Casino Login Register Philippines Ug777 app download apk for android 94067 water heater door replacement Loveph casino Tianjin University of Science and Technology How to play Fortune Gems online Earn money online Philippines legit Xo jili com register philippines Cruise casino in Goa Play slot machines for free online no deposit Is golden Cowboy good tds online casino games volatility Tmtplay casino login register mobile 啶戉え啶侧ぞ啶囙え 啶曕啶膏啶ㄠ 啶椸啶?啶曕啶膏 啶栢啶侧啶? EZJILI Login Register Game room online casino games real money Casino dealer Reddit ph Slots jackpot meter philippines app Pldt 777 real money withdrawal Jackpot World redeem code free 2024 Jilibay free 68 no deposit bonus Bet88 ph app download for android OKBet rewards app Julie emergency contraception reviews 啶ぞ啶椸啶?啶う啶侧え啷?啶曕ぞ 啶膏す啶?啶夃お啶距く Mega win login Best online casino games real money app Jiliasia ace download Jili 178 real money app Pag-IBIG membership Double DaVinci Diamonds free slot game jili 711 Slot virtual real money free Jili tongits withdrawal limit Okbet casino login philippines download Sabong derby 2023 Full Video MONOPOLY Slots download White part of eye swollen like jelly home remedies Ez jili codes 2021 Wjslot com rewards login How many evolutions can you have in a deck Clash Royale Online casino jili login register House of Fun VIP PLUS download SM Megamall 3 day sale 2024 dates Phil163 login Simple chili recipe Jili slot machine apk latest version Jili188 login download Boss88 Slot Login Jili go login philippines Online casino games with free signup bonus philippines Jili mines download apk Fc slot online philippines Y777 jili real money withdrawal Win99 online casino login register Lucky jili slots login register mobile philippines BetVictor UK Jilino1 new site Jili no minimum deposit philippines 2020 Royal777 login register philippines Forgot transaction password in phdream Casino plus jili slot real money Win99 slot games free apk Nn777 slot jili real money 38jili login GO Keyboard APK betBonanza mobile login registration Dragon cash vs Dragon Link 8k8 online casino games downloadable content philippines Best slots to play on FanDuel reddit balato8aa Crown89ph casino login Online casino builder Wjevo22 app irich slots&games casino 777 Boxing king casino real money Jili22 vip202 download online casino games with no minimum deposit Mega Wheel game download Jili apps download for android free Diablo 4 enchantment slot not working Online lucky sweepstakes no deposit bonus 747 online casino games philippines Super ace demo game online free Spin and win cash in Uganda withdrawal PG Soft Wild Bounty Showdown 777sky slot Jiliapp download latest version Www royal888casino net register Royal slots real money login ????? ?? ???? ??? ???? ????? ????? Phkuya com casino login PHIL168 new link Royal888casino net withdrawal July 8, 2024 Casino machine Jili lucky slot app apk Pragmatikong laro ng big bass bonanza videos 200jili download latest version Dometic 94067 Online slot machines philippines 12 Titans Greek mythology Online slots strategy Casinos online slots real money Jili official website app for android Play tongits online real money philippines Bmy88 net login password Jili 646 ph register app ios Kumuha ng jili app login download Ezjili com download ios Mega Ace mechanics Jili ace 777 no deposit bonus Jili live club login Jili 747 login app 291 jili 01 register download Tongits Go new version Boss JILI casino login Rich711 casino login download 9jlbet Real money casino app apk Jili event login app Jackpot fishing jili download free Pagsasalin ng teksto Sixers game today Please complete the required turnover for withdrawal tagalog Majhail X song download Mp3 April 8 2024 holiday Philippines Pg777 login register online Crazy Time prediction telegram Tadhana slots apk download old version Transaction password in scatter example Mine (Taylor Swift release date) Jili zeus slot login register International casino app Monopolyo ng big baller login Win888pub app Diablo 4 enchantments Phmacau club 啶す啶苦啶︵啶班ぞ 啶溹啶む 啶曕 啶啶∴ Apat na uri ng tunggalian at halimbawa Sw888 casino register BYU portal 49 jili vip login philippines Ubet95 Casino login Jili 178 ph register Is online gambling legal in Philippines Jili t7 login registration form Fg777 official withdrawal How to get unlimited coins on Vegas Live Slots Go88 slot login register download Slot sites philippines Pnxbet77 legit Online lucky 9 gcash download bwinners - online sports betting virtual & casino games Fachai free 150 Casino table games inside (2008) Ocean King Jackpot download Boom casino login KK JILI Casino Login app apk Nexusgaming88 agent login philippines Bonus 365 casino login Free unlimited bingo card generator PDF Microsoft login Jill meaning slang origin Grand slot Palace online casino W888 login Jili369 real money login Nexus88 Gaming login register Jackpot fishing demo free download Jajji veer punjabi gane mp3 download online casino games not real money Wagi 777 download for android free spins bonus no deposit Best casino online slots europe Bombing Fishing demo Limbo bar game Lodigame 291 login registration philippines Mammoth Gold Megaways Peraplay login Fb jili casino login download free no deposit bonus Bingo filipino machine price Login slot machine app Nextbet app download apk Slots game machine free Is DraftKings Casino legal in Massachusetts Webcam app Free unlimited bingo card generator What do CB1 receptors do 177bet cc download Jiliasia casino login philippines Online lucky 9 gcash withdrawal KK JILI register Slots rivals ladbrokes login Jilivip download ios online casino games in florida slot o pol online Jl777 Login Register Charge Buffalo free play Lucky Tongits gcash download Ph646 register mobile philippines Promotion 100 free 58jili login registration online x570 ram slots Mines predictor free Jili17 register mobile Kkjili com app download latest version Best free bonus slots real money Gba 777 casino no deposit bonus Best slots to buy bonus GGBET GCash Wild hammer megaways apk Real money gambling games philippines Jiliko photos free Libreng mga laro ng slot online register MVG SunBet login Bet777 Login Casino keno games free online no deposit Casino ng rainbow riches real money Jili referencing indian law ppt Free casino online real money Philboss link login Jili slot 777 login register online philippines Premiumbets TG777 app login 10 07 day Pocket GK Book PDF in Hindi Online casino 50 cash in no deposit Free slots paypal deposit Phlwin online casino hash encryption games traceable fair casino apk casino game casino Jili188 tv login password 5e sorcerer spell slots guide Alamat ng wizarding wars reddit Jili slot jackpot 777 withdrawal Www jilino1 club app Betso89 register Free website browser download pagcor online casino games Poker machines games casinos online free bonus Play video poker free no download for android Is Seybold journal Scopus Indexed How to withdraw in jili online gcash mwplay888.net login Phpslot app apk Top 1 game in the world 2024 Bingo plus pagcor login password 178jili HP777 Casino Jili day app apk Casino guru Brazil nuebegamingslot Jili casino app login download Jili 09 register download taylor swift july 9th 1:38 Geely Coolray 2024 Release date Philippines Jollibee picture outside Xo jili casino login register mobile Spielautomaten kaufen Royal Club apk Mod Helens gogo jili login register philippines Lucky 777 apk latest version Katangian ni apollo sa cupid at psyche Doble Engineering Casino jili real money app Slot machine png Falcon casino login register 5e multiclass spell slots Arcane Trickster Jili slot jackpot app download Paano maglaro ng slot para kumita withdrawal casino slot games real money Helens gogo jili register philippines Casino articles topics Fachai free 100 Slot 50 minimum deposit Philippines sm 3-day sale schedule 2024 Magic jili slot game login Are casino Apps rigged Tala888 download jackpotfree Big bet review guardian online casino games for free Fg777 casino login register link Betvisa best online casino Microsoft Store download lodivip3web Jili 789 download Best online casino games for real cash Tongits go 4.1 6 apk download latest version Gba333 login Register Phone club Game online azure pre-validated domain Sabong app apk Bandit Slots Youtube Jacks or Better strategy app Magandang slot ba ang Sweet Bonanza? 100 free spins no deposit no wagering requirements philippines Fg777win com login Pci slot types explained Nakakabuti ba ang sugal sa tao Tmtplay casino login register mobile Galaxy 88 casino com login register Free flash video poker download no download Winford Online casino login JIL pastor Winhq9 login register mobile W500 one Jili veo casino login registration Buenas 88 Register How to withdraw 90 jili club philippines online Jili free 100 php no deposit bonus philippines Jili com casino register Minecraft Crazy games Mitran de boot remix mp3 song download 320kbps Anjeer Dry fruit tg777 customer service 24/7 Arat365 com login Apps na pwedeng kumita ng pera legit 9k slot Casino Jili 8888 download for android William Hill live Tesla jili login philippines 啶す啶苦啶︵啶班ぞ 啶溹啶む x7-16 啶啶侧啶? Okada Online Casino download ios Lucky Neko demo play Jili lucky download for pc Original Buffalo wings recipe 777 jili Casino real money Betsson Group Glassdoor 40 jili casino login philippines app 777ku login App Byu jili register download Yesjili com login philippines Jackpot fishing game real money Ubet95 app apk 888 casino app store download Betway zambia online live sports betting download jili 80 iRich kh free download Mga nakakatawang palaro Top online slots online lucky 777 slot game download 50 deposit game online 49 jili games Online casino game with real money Freeplay Casino no deposit bonus Jili 646 777 login register philippines link Kk jili login register online philippines Anti epidemic online casino gcash login Gold 168 Casino login Royal777 register JILI6 promo code Philippines Lodislot 777 casino online real money Ijility maumelle ar Mnl168 download for android Bet 888 login philippines Boeing Secure Login 188 JILI Casino login Jili asya download Mr joker Photo Dinosaur tycoon jili ios download Jili777 login register Philippines 49 jili games download Wow888one philippines Phl63one philippines Mega Medusa Casino login Win888 casino register online Pldt 777 real money withdrawal solaire online casino games MNL63 free 100 No Deposit Jili caishen casino irich slots&games casino 777 Free slots poker online real money Casinos online for real money philippines Royal Club login app download free Online casino free real money DO888 online casino JILI188 app Charge buffalo jili download free Jili free 100 no turnover philippines no deposit bonus Gogosolot online Casino Login Superjilli ph Jili365 bet login sign up philippines Jili x super ace download 5 jili casino login register online Lolliplay login no deposit bonus Pldt jili slot download ios New online casino free chip no deposit Is transaction password and atm pin same sbi mega joker spielautomat Baccarat Strategy book Sweet Bonanza Candyland live Jili 337 withdrawal fee Baccarat Evolution Jili games download for pc slots with real money online 5jl Casino Login Super Ace slot demo SWERTRES sureball hearing today Philippines youtube Jili big win login register Online casino games no deposit free spins philippines Top online slots online lucky 777 slot game download Big baller Club info login Non working holiday Pasig 45 days from july 9, 2024 777 10 jili casino register download jackpot giant slot 90 jili register download JL777 Casino Tp777 com login register mobile Casino tr c tuy n login Gogo jili app download apk mod Legends Slot Bingo JILI 52 Club APK Jilievo888 com login register online Lucky jili real money 888bets mozambique app download Happy jackpot slots Fairground Slots no deposit bonus Wild ace demo download New Vegas slots luck Casino mania bonus Huff and more Puff slot machine for sale baccarat game how to play Jili ph register online Jolibet withdrawal Football teams Premier League sissi slot machine free play Jili vip login register philippines download app ios Transaction password in tagalog example brainly Play free casino games online without downloading for android ELK casino games Libreng computer video poker download Winph6aa philippines Jlbetslot 49 jili casino slots login Jili app casino download apk for android Mnl168 online casino register philippines apk Jili 80 login register Jili free withdrawal app Maaari ba tayong maglaro ng monopoly online play SYNOT Interactive Playzone cashback labet88.com app Jili49 login register Jili asia com casino login download Gold slots casino sa facebook login Jili balita withdrawal fee Gamezy Rummy Jili day register online 90jili game club download PH Macao game 777sky casino philippines Ibetph web casino Best online casino games philippines gcash 247 slots login Elf bingo jili online registration Funny captions for online casino games 777 lucky slot no deposit bonus OKBet App download apk Z25 Gaming P88 jili login app Jili77win philippines DuckyLuck Casino Ttjl casino link app 55jili login Cali 777 com login password LIMBO APK download latest version 200jili login philippines 646 jili 01 login app FB JILI Login Golden Wealth Baccarat live Panaloka login registration Tala0888 download apk GemDisco Login register Lion dance history Ezjili login register mobile Royal777 register Jili 337 login register philippines download Fishing era poppo How to play jackpot fishing app Libreng jili games login Swerte ng buto 77ph1 com login password How do i install tongits go on android Joy jili casino login register philippines free chips Slot machine 777 login Jili online slot apk Jili ko o casino login register APK injector Slot Pragmatic Play Gogo JILI Casino login 50 minimum Z790 ram slots for gaming Tongits Go update download How to compute special non working holiday Philippines 777 Casino 77 free spins login MWGAMING Login Password How to play taya 777 online How does Lee Young ji know English Phdream88 login app 63jili download ios ME777 Casino Login Philippines Baba Slots online casinoplusslot How to play jili super ace online Unibet sign up bonus 60 jili login download no deposit bonus Philippine online casino no deposit bonus pxbetgamingslot Online casino games that pay real money no deposit 49jili flag login password Jili 2024 login register Paano maglaro ng jili super ace login download Vip jili login philippines app Jili bingo download for android 9Y game City Jili jackpot lucky casino real money no deposit bonus Easy money jackpot fishing philippines Casino free games slots machine no deposit Slots7 Casino free spins Winjili ph login registration Jili games free 100 download apk Jiliplay999 com login Hot chilli megaways review Jili games apk latest version ang mga slot ay nagsusugal Nice 888 login philippines Playzone Casino FC jackpot Casino login Spin jackpot YONO apk Juegos de casino gratis sin descargar ni registrarse Gold slots casino sa facebook withdrawal Jili 168 login registration link Mitran De Junction Te Mp3 Song Download pagalworld Lovejili app for android apk download Helens gogo jili casino login Transaction password in scatter example mainit na jili casino Casino online free credit no deposit How do i install tongits go on iphone Boombet casino 100 JILI casino no deposit bonus Peso88aa philippines Jiliko gcash withdrawal Jili veo login philippines Jili slot game download apk latest version Macau casino online login philippines online casino Katangian ni sita sa rama at sita 49jili login to my account philippines app Forgot transaction password Fg777app download Baccarat in casino online 98 jili casino login register philippines download app Marvelbet apps download apk for android Xo jili app login Speed roulette strategy betway zambia live soccer online casino games Casino 777 lucky jili slots real money yakuza: like a dragon slots high payout token Wild Coaster PG slot Turkish Airlines flights Bet jili app download for iphone Why do slot machines have bingo cards Ez jili code philippines DOUBLE Jackpot Slot MACHINE for sale play free online casino games Bet777 Login app Supabets mobile app download Winning plus 40 apk Play top Dollar slot machine online free no download Jackpot meter jili download apk Plot 777 casino login register link Best time to play jili slot on sunday reddit