Comments (2)
Hi David,
Thanks for sharing your findings!
There is a check on line 691 that was added to detect whether an adblocker is active that also blocks GTM:
https://github.com/duracelltomi/gtm4wp/blob/master/integration/woocommerce.php#L691
If I correctly understand you, this means that using this ad blocker the google_tag_manager global variable is still set?
About the preventDefault() and the callback: without this, the product click would immediately tell the browser to follow the link in the element. Although GTM would start to fire corresponding tags, execution of those code could be shut down since the browser replaces the current page with the new one.
Using this behavior, we allow GTM to fire all tags that is bound to the GTM event (gtm4wp.productClickEEC) and we instruct the browser to follow the link just after tags has been fired OR 2000ms has been passed as there is a timeout value in my code as well.
Unfortunately if GTM is blocked, this timeout value does not take into account as well but eventually the check at line 691 should prevent the whole product click event handler to execute.
I hope that helps to clarify the reasons and I hope we can find an even better solution to detect this ad blocker as well.
from gtm4wp.
Update fixed it for me - We were still running on v1.5 without the block-controller.
from gtm4wp.
Related Issues (20)
- Enhanced conversion email/phone prepping before hashing HOT 10
- Google Tag Manager is loaded even though setting is turned off HOT 12
- String vs id in view_item_details HOT 8
- Uncaught TypeError: Cannot read properties of null (reading 'scrollTop') HOT 2
- view_item only active if variations selected HOT 5
- EVENT PURCHASE DON'T FIRE ON LINK ORDER PAY WOOCOMMERCE HOT 24
- Add Custom Fields to datalayer HOT 8
- Clicking on a product only loads browser after 2-3 secondes. HOT 5
- DataLayer BUG in variable product HOT 7
- PHP Deprecated: Creation of dynamic property WhichBrowser\\Analyser\\Header\\Useragent::$data is deprecated HOT 1
- WebToffee plugin integration consent denied update HOT 1
- FacebookPixel template not working HOT 4
- Problem with random products in add to cart HOT 4
- Plugin blocks Link-Clicks HOT 3
- DataLayer not compliant with Google specifications. HOT 2
- GTM4WP - Category product links take seconds to open HOT 2
- add to cart doesn't fire HOT 1
- How to add nonce for CSP? gtm4wp_get_the_gtm_tag filter is deprecated. HOT 13
- 1.18 -> 1.20.2 not tracking ecommerce events HOT 4
- Item categories have different & signs on view_item and view_item_list HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gtm4wp.