Skip to main content

Changelog Pro

== Changelog ==

= 1.19.4 = 14.08.2022

  • Tweak: Added safeguard if function as_enqueue_async_action isn't available.

= 1.19.3 = 14.08.2022

  • Tweak: Performance improvements for the new Diagnostics page.

= 1.19.2 = 13.08.2022

  • Tweak: Few formatting fixes for payment gateway accuracy report
  • Tweak: Improved performance for purchase confirmation page detection and order retrieval.
  • Fix: Removed possible division by zero on settings page

= 1.19.1 = 10.08.2022

  • Tweak: Performance improvements for the new diagnostics report.

= 1.19.0 = 10.08.2022

  • New: Introduced new diagnostics section in the settings page.
  • Tweak: Refactored documentation URL link compilation.
  • Tweak: Added sanitization for importing settings.
  • Tweak: Improved sanitization for arrays.
  • Tweak: Added sanitization for saving state when purchase pixels have fired.

= 1.18.1 = 04.08.2022

  • Fix: Fixed the test which checks if Facebook CAPI is enabled.
  • Fix: Fixed a division by zero error when no conversions have been tracked yet.

= 1.18.0 = 03.08.2022

  • New: Switched all server-side event reporting (including Facebook CAPI) from admin-ajax.php to its own REST API endpoint. Much faster. Reduces server load by approx. 30%.
  • New: Added Ajax fallback if REST API is not available.
  • New: Switched server side events sending from using fetch to navigator.sendBeacon to guarantee delivery and run on lower priority to avoid competing with other high priority requests.
  • New: Switched all server requests to use the REST API with AJAX fallback. Much faster. Reduces server load by approx. 30%.
  • Tweak: Added a documentation link for TikTok.
  • Tweak: Added a documentation link for Pinterest.
  • Tweak: Added WP memory limit to the debug information.
  • Tweak: Added safeguard for CLV output on low memory systems.
  • Tweak: Abort reporting of a subscription order to GA through the MP if it was created manually, and thus no parent order exists.
  • Tweak: Added compressed versions (gzip and brotli) of the minified JavaScript files in order to decrease server load.
  • Tweak: Updated Freemius library to remove PHP 8.x compatibility warnings.
  • Tweak: Updated libphonenumber library.
  • Tweak: Improved payment gateway analysis.
  • Fix: Fixed a bug which prevented the add-to-wishlist event to be triggered.
  • Fix: Fixed the ask-for-rating.js script
  • Fix: Fixed a bug which prevented to run an environment server check on servers that don't return the INPUT_SERVER array.

= 1.17.11 = 08.07.2022

  • New: Added export and import functionality.
  • Tweak: Removed the deprecated ttq.track("Browse") event.
  • Tweak: Tweaked is_order_received_page() in order to allow PMW to work with custom WooFunnels purchase confirmation pages. It might also work with custom Elementor purchase confirmation pages.
  • Tweak: Added an additional trigger if a visitor clicks on an Elementor checkout button.
  • Fix: Added the content_type to the FB InitiateCheckout event.

= 1.17.10 = 21.06.2022

  • Tweak: Updated Google Ads Enhanced Conversions to use new specification with gtag('set', 'user_data', {})
  • Tweak: Bumped up Facebook API version to v14.0
  • Tweak: Changed some jQuery event listeners to work around some themes / plugins that stop propagation of those events
  • Tweak: Prevent console error on purchase confirmation page when Google Ads is disabled
  • Tweak: Added product and value info to Facebook InitiateCheckout event
  • Tweak: Refactored getting product details for add-to-cart event plus added condition for variable-subscription
  • Tweak: Adjusted price output for wpmDataLayer products to two decimals
  • Fix: Removed a function not necessary for the WC version

= 1.17.9 = 07.06.2022

  • Fix: Fixed the Facebook browser pixel external ID for anonymous users
  • Fix: Replaced str_contains() with a backward compatible version for the admin notification check

= 1.17.8 = 07.06.2022

  • Tweak: Updated Microsoft Ads custom event names
  • Tweak: Optimized ViewItem event on variable product pages when no product is preselected. The user has now the choice to fire a ViewItem event without product.
  • Tweak: Optimized how, when and where admin notifications are displayed
  • Fix: Removed a duplicate Pinterest pagevisit event
  • Fix: Don't process CLV calculation if no billing email is available

= 1.17.7 = 30.08.2022

  • Tweak: Prohibit processing of Facebook CAPI hits for excluded roles
  • Tweak: Improved checks for excluded roles for GA MP hits
  • Tweak: Bumped up WordPress version to 6.0
  • Tweak: Bumped up WoCommerce version to 6.5
  • Fix: Fixed documentation links that contain anchors
  • Fix: Fixed ask-for-rating scripts

= 1.17.6 = 28.05.2022

  • Fix: Fixed fbp retrieval from browser for FB CAPI

= 1.17.5 = 28.05.2022

  • Tweak: Send proper browser identifiers when an order is created by an admin and then paid through the payment link by the customer for Facebook CAPI
  • Tweak: Make sure that the correct Facebook CAPI user identifiers are processed for the purchase events when payment gateways with iframes are in use
  • Tweak: Improved handling of user identifiers when processing of anonymous Facebook CAPI hits is allowed
  • Tweak: Added safeguard to check if wpmDataLayer.products exists before trying to filter it
  • Fix: Fixed billing phone output in FB CAPI purchase hit
  • Fix: Fixed fbc validation

= 1.17.4 = 26.05.2022

  • New: Added GA4 session ID handling over the Measurement Protocol. This is not documented by Google and is experimental.
  • Tweak: Added tier info into debug info
  • Tweak: Added more FB user information for logged in users
  • Tweak: Prevent slow processing of large amount of variation data for variable products with > 64 variations
  • Tweak: Increased server test timout to minimize false negatives
  • Fix: Workaround if $_server['HTTP_HOST'] is not set
  • Fix: Workaround if $_server['REMOTE_ADDR'] is not set

= 1.17.3 = 19.05.2022

  • Tweak: Added fbp and fbc validation for browser based FB CAPI events
  • Fix: Fixed a bug that could prevent processing the purchase events under certain conditions
  • Fix: Another fix for Facebook microdata output to prevent fatal errors when processing variable products with unsynced products
  • Tweak: Optimized clv query for clv output
  • Tweak: Optimized retrieval of purchase labels for Google Ads
  • Tweak: Optimized precheck for Google Ads purchase event
  • Tweak: Optimized retrieval function for conversion identifiers with label for Google Ads
  • Tweak: Optimized new_customer query to run faster
  • Tweak: Updated libphonenumber
  • Fix: Prevent that the Freemius menu tabs get displayed in other plugins
  • Fix: Fixed the documentation links

= 1.17.2 = 13.05.2022

  • Fix: Additional safeguard to check for array when checking for updates

= 1.17.1 = 12.05.2022

  • Tweak: Adjusted db query for clv order total

= 1.17.0 = 12.05.2022

  • New: Added user_id to Google Ads remarketing pixel
  • Tweak: Improved data transmitted with Facebook CAPI event payload
  • Tweak: Removed processing of GA4 refunds over the front-end and only allow processing refunds over the Measurement Protocol
  • Tweak: Added doc links for the version
  • Fix: Another safeguard to prevent processing of out-of-stock variations through the FB microdata script output.
  • Fix: Added external_id in the FB pixel event and more identifiers on purchases
  • New: Added customer lifetime value output for Google Ads
  • Tweak: Renamed the plugin from Pixel Manager for WooCommerce to Pixel Manager for WooCommerce
  • Tweak: Added user identifiers for FB for orders and logged in users
  • Tweak: Temporary disabled off_site_payment_gateway check
  • Fix: Now the cache is only flushed when the Pixel Manager itself is updated
  • Fix: Fixed the new_customer evaluation for guest buyers
  • Fix: Fixed the position of the 'scripts blocked' warning message in the back-end if admin scripts don't load
  • Fix: Fixed the link of the 'admin scripts not loaded' message

= 1.16.14 = 02.05.2022

  • Tweak: Refactored Facebook CAPI event handling. Added external_id
  • Tweak: Bumped up Facebook API version to v13.0
  • Tweak: Refactored Google Analytics visitor identifier tracking for Measurement Protocol
  • Tweak: Set that admins and shop managers are being tracked by default, because the majority of new users expects this
  • Fix: Fixed document links for Meta (Facebook) settings

= 1.16.13 = 30.04.2022

  • Tweak: One more adjustment to make sure categories are being output for purchase events on shops that don't properly sync the categories down to the variants
  • Fix: It can happen that no proper product object is created by WC and is passed to the Facebook microdata output. In that case WPM will now terminate the microdata output seamlessly.
  • Fix: Fixed a syntax error in on of the back-end admin scripts

= 1.16.12 = 27.04.2022

  • Tweak: Added a new event listener for the Complianz Cookie Banner
  • Fix: Fixed an error when processing partial refunds through the Google Analytics Measurement Protocol

= 1.16.11 = 25.04.2022

  • New: Added function with which custom Facebook events can be triggered (including Facebook CAPI if it is enabled in the pro version)
  • Tweak: Changed cursor for submenu links in the back-end
  • Tweak: Added an additional check for a cookie name for Cookie Law Info
  • Tweak: Some code style changes
  • Tweak: Updated libphone library
  • Tweak: Updated Freemius library

= 1.16.10 = 21.04.2022

  • Tweak: Facebook microdata output now properly treats product variations
  • Fix: Borlabs cookie auto-detection for Microsoft Ads (Bing Ads) fixed

= 1.16.9 = 19.04.2022

  • Tweak: Added European Union as Google Consent Mode region selection
  • Tweak: Refactored user role tracking permissions
  • Tweak: Enabled tracking of manual orders from the back-end
  • Tweak: Made sure that manual back-end order get tracked with correct GA cid if the cid is available
  • Tweak: Refactored some of the GA4 functions
  • Tweak: Changed escaping method for outputting the titles and names into the wpmDataLayer in order to properly deal with characters like a dash, ampersand, etc.
  • Tweak: Load categories for variations from parent product, because on some installs the variations don't inherit the parent product's categories
  • Tweak: Removed more cruft from the code and improved the syntax here and there
  • Tweak: Adjusted validation for the Google Merchant Center ID
  • Tweak: Updated selectWoo.full.*.js
  • Tweak: Tested up to WooCommerce 6.4

= 1.16.8 = 14.04.2022

Tweak: Added more page type outputs (for better product list performance analysis in GA) Tweak: Refactored GA3 and GA4 product data collection Fix: Fix for view item events on single variation pages

= 1.16.7 = 12.04.2022

  • Tweak: Improve output formatting for enhanced_conversion_data if shipping address is not set

= 1.16.6 = 11.04.2022

  • Tweak: Safeguard for JavaScript optimizers that ignore the jQuery dependency of WPM and load jQuery after WPM
  • Tweak: Refactored the WPM JavaScript library (split code logically and into folders)

= 1.16.5 = 08.04.2022

  • Tweak: More verbose logging of WPM load and pixel consent status into the dev console
  • Tweak: Added new logic to retrieve categories for variations

= 1.16.4 = 07.04.2022

  • Fix: Fixed a bug that prevented disabling user role tracking

= 1.16.3 = 07.04.2022

  • Tweak: Remove the IPv6 to IPv4 mapping in case the the external user IP contains one
  • Tweak: Improved local IP detection

= 1.16.2 = 05.04.2022

  • Tweak: Added filter to add custom order statuses that trigger a purchase hit over the Measurement Protocol
  • Fix: Improved detection of users that are deactivated for tracking

= 1.16.1 = 05.04.2022

  • Tweak: Removed data-cfasync=”false” to allow Cloudflare Rocket Loader to optimize scripts
  • Tweak: Removed unused functions
  • Tweak: Refactored some code and removed cruft
  • Tweak: Improved logic of when to load cart items into the wpm dataLayer
  • Tweak: For users, who have been disabled for tracking, prevent tracking entirely, not just for purchase events
  • Tweak: Renamed Facebook to Meta
  • Tweak: Add log entry when a purchase hit has been prevented because of a user role that has been opted out from tracking

= 1.16.0 = 01.04.2022

  • New: Setting to exclude specific user roles
  • Tweak: Removed a few deprecated and inactive settings
  • Tweak: Updated Enhanced Conversions output as per updated specs by Google
  • Tweak: Improved formatting for Facebook CAPI event parameters

= 1.15.5 = 30.03.2022

  • Tweak: Removed an obsolete db cleanup function
  • Tweak: On variable products, with no preselection send the valid variation ID if variations output is enabled
  • Tweak: Added safeguard for debug info when URL redirect test fails to open the URL
  • Tweak: Syntax improvements in wpm.addProductToCart()
  • Tweak: Simplified logic when the wpm.getCartItems() function is called
  • Tweak: Deprecated the wpm_track_mini_cart filter
  • Tweak: Added cookie detection for Cookie Law CMP with French named cookies
  • Tweak: Added one more safeguard in case the main wpmDataLayer init is being blocked by some third party plugin and products need being loaded into the wpmDataLayer further down below
  • Tweak: Added console log output when pixels don't fire because of user consent choice
  • Tweak: Added a payload logger for Facebook CAPI events
  • Tweak: Initiate WC session later in the checkout funnel (if necessary at all) to improve caching conditions
  • Tweak: Added URL parameter debugConsentMode for verbose debug output in the browser console in relation to user cookie consent

= 1.15.4 = 23.03.2022

  • Fix: Product name transmission for Google Analytics Universal purchases

= 1.15.3 = 22.03.2022

  • Tweak: Attach click handlers later during loading in order to better deal with some side cases
  • Tweak: Fire viewItem event on variable product pages when no variation is selected yet, sending the ID of the parent product

= 1.15.2 = 21.03.2022

  • Tweak: Silenced status icon on compatibility mode setting when disabled
  • Tweak: Made Autoptimize, FlyingPress, Async JavaScript, Optimocha and WP Optimize JavaScript optimization disabler optional through compatibility mode
  • Tweak: Made Litespeed Cache and SG Optimizer JavaScript optimization disabler mostly optional through compatibility mode. Some exclusion have been left permanent without which the tracking scripts would break.
  • Fix: Added safeguard if old version of FlyingPress is being used and compatibility mode is enabled
  • Fix: Added safeguard if old version of WP Rocket is being used and compatibility mode is enabled
  • Fix: Added safeguard if Yoast SEO is being used and compatibility mode is enabled

= 1.15.1 = 18.03.2022

  • Tweak: Made WP Rocket JavaScript optimization disabler optional through compatibility mode
  • Tweak: Adjusted sourcemaps output to make them work with Firefox
  • Fix: Proper check for user id when logged in

= 1.15.0 = 15.03.2022

= 1.14.3 = 24.02.2022

  • Tweak: Adjusted all documentation links to point to new domain and sub-folder
  • Tweak: Improved handling with SG Optimizer
  • Fix: Nodedupe Google Ads conversion script output and event name when cart data is turned off

= 1.14.2 = 17.02.2022

  • Tweak: Added items to Microsoft Ads purchase event
  • Tweak: Added 'wpm-js' to optimization exclusion list
  • Fix: Added a safeguard when checking for order purchase redirects in the UX
  • Fix: Fixed a double json encoded string for the GA4 browser purchase event

= 1.14.1 = 12.02.2022

  • Tweak: Avoid loading the entire admin UX in case an admin is not viewing the plugin admin page itself
  • Fix: Fixed a side case where the plugin would output wrong html in case the pro version demo is enabled

= 1.14.0 = 11.02.2022

  • New: Save gclid on order for possible later use
  • Tweak: Change purchase confirmation event from CompletePayment to PlaceAnOrder
  • Tweak: Replace references with
  • Fix: Replaced function wpm.objectExists() because it did not always work properly
  • Fix: Plenty of syntax adjustments in order to adhere to all WooCommerce and WordPress coding standards
  • Fix: Fixed refunds for GA UA measurement protocol

= 1.13.1 = 28.01.2022

  • Fix: fixed an error that would appear if no Google pixel is turned on and the wpm scripts are looking for Google values in the wpmDataLayer

= 1.13.0 = 28.01.2022

  • New: Added experimental support for (may be dropped at any time)
  • Tweak: Tweaked settings for new cookie names in CMP Complianz >= version 6.0.0
  • Tweak: Rebranding to
  • Tweak: Refactored plenty function names
  • Tweak: Improved WP Rocket cache flush and recreation
  • Tweak: Refactored documentation links into a class
  • Tweak: Added safeguards in case some wpm functions have not been loaded properly
  • Tweak: Included transpiling ES6 into the JS minification process
  • Tweak: Combined all front-end and back-end scripts into single, optimized and compressed files
  • Tweak: Removed functions from the newly combined files that are not necessary anymore, like Promise.allSettled

= 1.12.4 = 11.01.2022

  • Tweak: Removed some unnecessary console.log outputs
  • Tweak: Added a safeguard when flushing Flying Press Cache
  • Tweak: Added support output for various CMPs into the admin pages
  • Tweak: Added more safeguards in case on the purchase confirmation page the order can't be retrieved through query vars
  • Tweak: A few improvements how to read out cookies for various CMPs
  • Tweak: Improved gtag firing based on cookie consent
  • Tweak: Improvements to read out of Cookie Script consent cookie
  • Tweak: Improvements to read out of Cookiebot consent cookie

= 1.12.3 = 04.01.2022

Fix: Deliver proper updated wpm.jsx

= 1.12.2 = 03.01.2022

  • Tweak: Added automatic improvements for users of the Optimocha Speed Booster Pack plugin
  • Tweak: Added automatic improvements for users of the Async JavaScript plugin
  • Tweak: Added automatic improvements for users of the Flying Press plugin
  • Tweak: Added a few console warnings if wooptpm scripts are being deferred
  • Fix: Fixed a bug that appeared when a shop was using the "Complianz | GDPR/CCPA Cookie Consent" consent management plugin

= 1.12.1 = 02.01.2022

  • Tweak: Added back the cookie prevention filter and included a deprecation notice
  • Fix: Fixed a bug that appeared when a shop was using the "CookieYes, GDPR Cookie Consent (Cookie Law Info)" consent management plugin

= 1.12.0 = 31.12.2021

  • New: Added dynamic remarketing ID output for the WooCommerce Google Listings & Ads plugin
  • Tweak: Fixed the wooptpm_facebook_capi_api_version filter name
  • Tweak: Bumped up Facebook API version to 12.0
  • Tweak: Changed PlaceAnOrder TikTok event to CompletePayment
  • Tweak: Bumped up minimum PHP version to 7.3
  • Tweak: Much more cache friendly handling of Cookie Consent Platforms
  • Tweak: Added support for several more Cookie Consent Platforms
  • Tweak: Properly handle error if WooCommerce is not active

= 1.11.7 = 29.10.2021

  • New: Added gallery images links to Facebook Microdata output
  • Tweak: Added documentation link for GA4 API secret
  • Tweak: Added add-to-wishlist, search and initiate-checkout events to TikTok
  • Tweak: Increased Facebook Microdata Feed Description length to 5000 characters
  • Tweak: Adjusted HotJar ID validation to accept 6 digit IDs
  • Tweak: Switched body reference to jQuery(document) for better compatibility
  • Fix: TikTok ViewContent and PlaceAnOrder event names
  • Fix: Fixed misspelling in Google Consent mode region parameter

= 1.11.6 = 17.09.2021

  • Tweak: Bumped up Facebook API version to v11.0
  • Tweak: Added filter for Facebook CAPI API version
  • Tweak: Improved some admin interface text

= 1.11.5 = 02.09.2021

  • New: Sending referrer, user_agent, gclid and viewport to GA UA through measurement protocol
  • Tweak: Added a delay to save one of the Google target IDs on the session in order to make sure the save is executed properly
  • Tweak: Added filters for url_passthrough and ads_data_redaction
  • Tweak: Don't disable the deactivation button anymore when a user chooses "other" from the list of reasons
  • Tweak: Added minified versions of all front-end scripts
  • Tweak: Removed query to remove old refund keys from db
  • Fix: Fixed TikTok activation condition
  • Fix: Fixed too few parameters being passed to woocommerce_subscription_renewal_payment_complete

= 1.11.4 = 13.08.2021

  • Fix: Fixed cannot access offset of type string on string in Google measurement protocol

= 1.11.3 = 13.08.2021

  • Fix: Fixed an array type error that could happen in rare cases

= 1.11.2 = 13.08.2021

  • New: Starting to save gclid to orders for later use
  • New: Added shortcodes for Snapchat and TikTok
  • New: Saving referrer in a wooptpm cookie
  • Tweak: E.164 phone format output for Google Ads Enhanced Conversions
  • Tweak: Add multiple addresses to Google Ads Enhanced Conversions if billing and shipping addresses are different
  • Tweak: Added Facebook CAPI events to shortcodes
  • Tweak: Added manual view-item shortcode for custom pages where add-to-cart shortcodes are being used, but because of that, view_item events are missing
  • Tweak: Moved Freemius to composer vendor directory
  • Tweak: Improved handler to save cookies for FB session
  • Tweak: Added fallback to get an order from the order received page in case a plugin messes with query vars

= 1.11.1 = 05.08.2021

  • New: Automatic cache purge for Kinsta on plugin updates and saved settings
  • Tweak: Added safeguard in order to prevent a fatal error when coming across a variation that doesn't properly link to a parent product
  • Tweak: Added filters to suppress certain admin notifications
  • Tweak: Changed global for notifications db name
  • Tweak: Changed function declaration for varExists in order to work around a Google Closure bug
  • Fix: Renamed transactions_id to transaction_id for GA4 MP refunds
  • Fix: Built in a safeguard for the debug info in case no order exists yet in the shop

= 1.11.0 = 26.07.2021

  • New: Added view_cart event for GA4
  • Tweak: Added coupons to GA UA and GA4 purchase events
  • Tweak: Avoid an issue when trying to read WP Rocket options when no options exist yet
  • Tweak: Removed some unnecessary parameters from Google Ads purchase confirmation script
  • Tweak: Output purchase value with max two decimals
  • Fix: Fixed a syncing cached cart syncing issue
  • Fix: Fixed the FB microdata product IDs in case custom IDs are being used (with filters)
  • Fix: Fixed enhanced conversion declaration from let to var
  • Fix: Renamed transactions_id to transaction_id for GA4 MP
  • Fix: Fixed some events on cart page for variable products

= 1.10.11 = 19.07.2021

  • New: TikTok pixel
  • New: Filter to enable enhanced match for Pinterest
  • New: Filter for order items
  • New: Implemented warning for incompatible plugins
  • Tweak: Setting GA cid already on product page if possible
  • Tweak: Remove nonce check when setting cid on product pages because product pages are cached
  • Tweak: Added logging for cid retrieval
  • Tweak: Save cid_set cookie as normal cookie if sessionStorage is not available
  • Tweak: Comma separated categories for GA UA
  • Tweak: Proper category variables for GA4
  • Tweak: Refactored wooptpm.setCookie() so that it can create session cookies
  • Fix: item_name for GA4 add_to_cart events
  • Fix: Added proper product ID output to addtocart, pagevisit and checkout events for Pinterest
  • Fix: Don't return a random cid in get_cid_from_session, but handle this in set_cid_on_order
  • Fix: Output of product prices as float
  • Fix: Added string to float conversion in wooptpm_get_order_item_price to make sure a float is returned

= 1.10.10 = 7.7.2021

  • New: Snapchat pixel
  • New: Automatically flush cache of caching plugins and platforms on plugin settings changes
  • New: Report hosting platform in debug info
  • Tweak: Added new compatibility exclusions for WP Rocket
  • Tweak: Added option to filter GA4 parameters

= 1.10.9 =

  • New: Filter for custom brand taxonomy
  • New: Added payment gateway usage and successful redirect stats to free version
  • Tweak: Better handling of saving partial refund hits in the db
  • Tweak: Refactored several elements in order to render correctly in RTL environments
  • Tweak: If product belongs to multiple categories, output them in a comma separated list for GA
  • Tweak: Automatically detect if mini cart is being used, and depending on this, enable or disable wooptpm_get_cart_items
  • Tweak: Caching cart contents in sessionStorage in order to avoid as many API calls to backend as possible
  • Fix: Removed unnecessary FB CAPI calls if CAPI is disabled
  • Fix: Fixed version check for db upgrade function in case someone has been using one of the earliest versions of the plugin

= 1.10.8 =

  • Tweak: Fallback on PayPal check if option doesn't exist in the db
  • Tweak: Removed manual function override from Freemius source
  • Tweak: Added page type output on order received page
  • Tweak: Switched data wooptpmProductId output on product pages to meta tag for main product
  • Fix: Fallback for a divide by zero in case the gateway analysis only has zero orders to analyse
  • Fix: Fallback in case no orders have been saved by de duplication prevention script
  • Fix: Fixed ViewContent id_type variable for Facebook, GA UA and GA4
  • Fix: Added dynamic remarketing purchase script

= 1.10.7 =

  • New: Added link for affiliate program
  • New: Added hook_suffix into debug info
  • Tweak: Only save fbp on server if FB CAPI is enabled, and only do it on checkout and cart pages
  • Tweak: Adjusted the $hook_suffix check in admin.php because on some installs the $hook_suffix output is buggy

= 1.10.6 =

  • New: Added the new Google Ads enhanced conversions feature
  • New: Added conversion accuracy warning if the PayPal standard payment gateway is active
  • New: Added support for WooCommerce composite products
  • Tweak: Lowered ajax requests on Google cid setter significantly
  • Tweak: Lowered ajax requests on Facebook session id setter significantly
  • Tweak: Switched order duplication prevention to process internal order ID (not order number)
  • Tweak: Implemented better way to reference .js and .css files
  • Tweak: Removed jquery.cookie.js dependency

= 1.10.5 =

  • Tweak: parseFloat for value in Facebook and Pinterest just in case no proper input is received
  • Tweak: Added an exclusion to fix an issue with Microsoft Ads, caused by Cloudflare Rocket Loader
  • Tweak: Removed launch deal code
  • Tweak: Cleaned up some cruft
  • Tweak: Added new element selector for the intersection observer for product templates that pack the wooptpmProductId into a child > child hierarchy
  • Fix: Added default quantity if quantity field has been removed on a product page
  • Fix: Switched to treat order IDs as strings. Otherwise it would throw an error if a shop owner changes order IDs to also use letters.

= 1.10.4 =

  • New: Added filter for Google cross domain filter setting
  • Tweak: Added more safeguards in case WC processes a product ID which is not a product
  • Fix: Product data output on some pages triggered a critical error

= 1.10.3 =

  • Tweak: Switch to use different hook on product pages to output main product data

= 1.10.2 =

  • Tweak: Renamed and deprecated several old filters
  • Fix: Removed unnecessary function call from pinterest__premium_only.js

= 1.10.1 =

  • New: Added a debug test to see if the server can reach the outside world with a wp_remote_get() request
  • Tweak: Fire the Facebook CAPI event even when order goes into status on-hold. Otherwise FB complains because of delayed reporting.
  • Tweak: Added more Facebook CAPI visitor identifiers
  • Tweak: Added filter to disable mini cart tracking
  • Tweak: Added better fallback for cookie retrievals if cookies can't be saved in the session
  • Fix: Fire view_item event on products that are out of stock
  • Fix: In case the redirect check returns an array of redirects, we return the last array member.

= 1.10.0 =

  • New: Facebook CAPI
  • Tweak: Only show the rating notice to admins of the shop.
  • Tweak: Added more exclusions for WP Rocket
  • Tweak: Added exclusions for WP Optimize
  • Tweak: Additional exclusions for Autoptimize
  • Tweak: Removed hit on for parent IDs on a variable product page

= 1.9.6 =

  • Tweak: Orders now get reported as soon as the order goes into status 'processing'
  • Tweak: Added one more tweak for LiteSpeed Cache users
  • Fix: Fix GA UA eec checkout progress steps
  • Fix: Changed reading options from database to passing options from primary instance in order to avoid options caching issues on saving.

= 1.9.5 =

  • Tweak: Added nonces to some ajax calls
  • Tweak: Added dependencies to enqueued scripts
  • Tweak: Improved the parent selector for the mutation observer for lazy loaded products
  • Tweak: Implemented better product selector for modification observer
  • Tweak: Added new selector for related products
  • Fix: Improved the verification for the Google Analytics 4 API secret. It was too restrictive.
  • Fix: Fixed the cid for subscription renewal purchases with missing cid on the parent order
  • Fix: Fixed the deduplication check for GA UA MP hits

= 1.9.4 =

  • New: add_to_wishlist event for GA and Facebook
  • New: InitiateCheckout event for FB
  • New: Send purchase events using the GA UA Measurement Protocol
  • New: Send subscription renewal purchase events using the GA UA Measurement Protocol
  • New: Send full refund events using the GA UA Measurement Protocol
  • New: Send partial refund events using the GA UA Measurement Protocol
  • New: Send purchase events using the GA 4 Measurement Protocol
  • New: Send subscription renewal purchase events using the GA 4 Measurement Protocol
  • New: Send full refund events using the GA 4 Measurement Protocol
  • New: Send partial refund events using the GA 4 Measurement Protocol
  • Tweak: Only activate eec scripts if GA UA or GA4 are enabled
  • Tweak: Finalized improvement for front-end error handling
  • Tweak: Added a JS modification exclusion for Autoptimize in order to prevent our script to get modified and broken
  • Fix: Fixed a selector for cart items on the cart page which caused on certain custom shop templates to trigger an error

= 1.9.3 =

  • Tweak: Added one more layer of safeguards if wpm.jsx can't evaluate the current productId

= 1.9.2 =

  • Tweak: Added one more safeguard if wpm.jsx can't evaluate the current productId

= 1.9.1 =

  • Tweak: Much better selector for view_item_list trigger
  • Tweak: Added some some safeguards in order to stop processing in case no productId can be evaluated
  • Tweak: Removed deprecated "disable gtag insertion" feature entirely

= 1.9.0 =

  • New: Implemented view_item event for variations when selected on the product page
  • New: Implemented view_search_results event
  • Tweak: Use proper select_item event in GA4 not the deprecated select_content event anymore
  • Tweak: Moved view_item event processing entirely to front-end
  • Tweak: Improved selector for products if WPML WC multi currency is being used
  • Tweak: Better test to check if WPML WC multi currency is active
  • Tweak: Improved function to get the productId on select_item event
  • Tweak: Additional caching exclusions for SG Optimizer
  • Tweak: Changed the gtag code in order to make it better testable
  • Tweak: Moved some scripts to the footer
  • Tweak: Improved add_to_cart trigger
  • Tweak: Refactored view_item_list event entirely to be unaffected by caching mechanisms
  • Tweak: Added a new view_item_list trigger with some interesting options
  • Fix: Fixed front-end triggers for Google and Facebook to only fire if the pixels are enabled
  • Fix: Fixed an array check if an old WP Rocket version was installed and threw a notice about a missing array index
  • Fix: Output correct price if WPML Multilingual with Multi-currency is running

= 1.8.28 =

  • New: Filter to switch Google Analytics ID output to SKU
  • New: Process discounted order item price for GA if Woo Discount Rules is active
  • New: Implemented all main GA4 events
  • New: Logged in event for GA
  • New: Google user ID tracking
  • Tweak: Twitter ID check now allows numbers too
  • Tweak: Moved getCartItems to document.load event
  • Tweak: Added Freemius purchase conversion
  • Tweak: Avoid number output with too many decimals
  • Tweak: More reliable method to get order from order received page
  • Fix: Imported necessary classes for refunds
  • Fix: Proper variable types for purchase confirmation variables
  • Fix: Initialize wooptpmDataLayer.pixels early, so that all pixels can use it
  • Fix: Replaced $order->get_id() with $order->get_order_number in order to fix a bug on a small subset of shops
  • Fix: Get proper WP db prefix for refunds SQL query

= 1.8.27 =

  • Tweak: LD check

= 1.8.26 =

  • Tweak: Implemented permanent compatibility mode for SG Optimizer
  • Tweak: Implemented permanent compatibility mode for LiteSpeed Cache
  • Tweak: Refactored the Facebook pixel and events

= 1.8.25 =

  • Tweak: Implemented permanent compatibility mode for WP Rocket
  • Fix: Refactored a JavaScript regex that was not working in Safari

= 1.8.24 =

  • Fix: Added a function that should be available in the free version conversion_pixels_already_fired_html

= 1.8.23 =

  • Fix: Include output of variable products into the visible_products object
  • Fix: Added a missing opening tag for shops that are still using the gtag deactivation option

= 1.8.22 =

  • New: Added Google Analytics eec begin_checkout event
  • New: Added Google Analytics eec set_checkout_option events
  • New: Added Google Analytics eec refund events
  • New: Added initial GA 4 eec events (needs more tweaking though)
  • Tweak: Added Google Analytics eec add_to_cart event for all /?add-to-cart=123 link clicks
  • Tweak: Partially decoupled pixels from pixel manager
  • Tweak: Refactored browser e-commerce events into pubsub
  • Fix: Added proper phone conversion label
  • Fix: Under some circumstances rating_done is not set in the wgact_ratings option. This fix adds this default option.
  • Fix: Fixed the GA 4 config command

= 1.8.21 =

  • New: Added Google Analytics eec product click events
  • New: Added Google Analytics eec product add_to_cart and remove_from_cart events
  • New: Added output of related up- and cross-sell product view_item_list list events for Google Ads dynamic remarketing
  • New: Added &nodedupe URL parameter for testing the order confirmation page
  • Tweak: Build in a fallback for misconfigured variable products that trigger an "Error: Call to a member function get_sku() on bool"

= 1.8.20 =

  • Fix: Fixed the Google Analytics config filter

= 1.8.19 =

  • New: Added Pro feature demo mode
  • New: Added shortcodes for tracking leads and similar conversions
  • New: Filter to adjust Google Analytics config parameters

= 1.8.18 =

  • New: Added Borlabs support for Google Consent Mode
  • New: Google Analytics link attribution
  • Tweak: Bumping up WP supported version to 5.7
  • Tweak: Some code syntax cleanup
  • Fix: Fixed the country name for Macedonia in Google consent mode
  • Fix: Fixed duplicated jobs option in Google business verticals

= 1.8.17 =

  • Tweak: Remove some freemius options

= 1.8.16 =

  • New: Google Analytics enhanced e-commerce
  • New: Added Google consent regions setting
  • New: Output the variation ID for dynamic remarketing
  • New: Maximum compatibility mode
  • Tweak: Strip HTML tags from description in microdata output for Facebook
  • Tweak: Added item_group_id to microdata output for Facebook
  • Tweak: Switched logic to activate conversion cart data automatically when merchant center ID is set
  • Tweak: Made Google Analytics always receive the post ID as product ID because this is more robust
  • Tweak: Removed some unnecessary text output in the settings
  • Fix: Script blocker documentation link

= 1.8.15 =

  • New: Added Facebook microdata output
  • Fix: Determine correctly new customer for shopping cart data on new customers who paid immediately
  • Tweak: Created new trait to calculate brand for product
  • Tweak: Added a new array with additional product attributes (like brand which is calculated)
  • Tweak: added ability to load traits in autoload.php
  • Tweak: Bumped up WC version
  • Tweak: Added an additional is_array() check in order to suppress a PHP 7.4 notice when checking the environment

= 1.8.14 =

  • Tweak: Make the noptimize tag only appear if Autoptimize is active
  • Tweak: Removed a duplicate filter
  • Fix: Moved get_cart() query into is_cart() condition

= 1.8.13 =

  • New: Filter to prevent conversion pixels to fire on purchase confirmation page
  • Tweak: Replaced _e() with echo where necessary
  • Tweak: Syntax cleanup

= 1.8.12 =

  • Tweak: Calculate filtered order total for all pixels

= 1.8.11 =

  • Tweak: Added product IDs to Microsoft Advertising purchase event
  • Fix: Removed a function call where the function was missing

= 1.8.10 =

  • New: Google consent mode
  • New: Setting for cookiebot
  • New: Added advanced order deduper
  • Tweak: Removed Pinterest noscript tags
  • Fix: Added product IDs to Microsoft Advertising purchase event
  • New: Added basic order deduper
  • New: Google Shopping new_customer parameter
  • New: Added switch to enable transaction deduping (default enabled)
  • Tweak: Product identifier output now for all the same
  • Tweak: Adjusted the HTML comment output
  • Tweak: Added new cookie for Borlabs Cookie
  • Tweak: Made some input elements clickable
  • Tweak: Moved check for failed payments and admin and shop manager up to the pixel manager

= 1.8.9 =

  • Tweak: readme.txt links
  • Tweak: fallback to post ID in case the SKU is not set
  • Tweak: Adjusted the HTML comments
  • Tweak: Don't inject cart scripts on cart page if cart is empty

= 1.8.8 =

  • Tweak: Adjusted directory name
  • Tweak: Bumped up version
  • Tweak: Changed regex for GMC IDs to allow 7 digit IDs
  • Tweak: Improved speed to hide script blocker warning
  • Tweak: Adjusted documentation links

= 1.8.7 =

  • Fix: Added new classes to SVN

= 1.8.6 =

  • Tweak: Code cleanup
  • Tweak: Adjusted doc links

= 1.8.5 =

  • Tweak: Bing dynamic remarketing events
  • New: Hotjar pixel

= 1.8.4 =

  • New: Microsoft Ads pixel
  • New: Twitter pixel
  • New: Pinterest pixel
  • New: Hotjar pixel
  • Tweak: Renamed subsection 'Order Logic' to 'Shop'
  • Tweak: Refactored debug info
  • Tweak: Added WP Rocket JavaScript concatenation to debug info

= 1.8.3 =

  • New: Google business vertical setting

= 1.8.2 =

  • New: Check for WP Rocket JavaScript concatenation
  • New: Added filter which helps adding multiple additional conversion IDs and labels

= 1.8.1 =

  • Fix: Version number
  • Fix: FB default pixel id

= 1.8.0 =

  • New: Google Analytics UA standard beta
  • New: Google Analytics 4 beta
  • New: Google Optimize beta
  • New: Activation indicators
  • Tweak: Put admin scripts into header for faster rendering
  • Fix: Detect proper admin path in tabs.js

= 1.7.13 =

  • New: Facebook pixel
  • Tweak: Adjust db and bump up to version 3
  • Tweak: Introduced Pixel_Manager and restructured Google Ads class

= 1.7.12 =

  • Fix: Removed namespace for main class because it was conflicting with freemius in some cases

= 1.7.11 =

  • Fix: Directory name fix
  • New: Warning message if an ad- or script-blocker is active
  • Tweak: Improved one of the db saving functions
  • Tweak: Start using namespaces

= 1.7.10 =

  • Fix: child theme detection

= 1.7.9 =

  • Fix: Roll back to 1.7.7 since namespace don't work everywhere
  • Fix: child theme detection

= 1.7.8 =

  • New: Warning message if an ad- or script-blocker is active
  • Tweak: Improved one of the db saving functions
  • Tweak: Start using namespaces

= 1.7.7 =

  • Fix: Don't show the rating popup if an admin uses a script blocker

= 1.7.6 =

  • Fix: Improved check if dynamic remarketing settings already has been set before checking for it.
  • Fix: Saving to the database threw sometimes warnings that have been fixed.
  • Tweak: Styling changes

= 1.7.5 =

  • New: Added checks for freemius servers
  • New: Dynamic remarketing pixels
  • New: Deactivation trigger for the WGDR plugin if dynamic remarketing is enabled
  • Fix: Adjusted the cookie name for Cookie Law Info
  • Fix: Improved detection if WooCommerce is active on multisite
  • Fix: Fixed default setting for conversion_id
  • Tweak: Added back rating testing code
  • Tweak: Adjusted some links
  • Tweak: Code style cleanups

= 1.7.4 =

  • Fix: Fixed the ask for rating constant

= 1.7.3 =

  • Fix: Don't open the rating page if user clicks on already done
  • Tweak: Backward compatibility to PHP 7.0

= 1.7.2 =

  • Fix: Fixed a printf syntax error that caused issues on some installations

= 1.7.1 =

  • Tweak: Removed deletion of settings on uninstall in order to preserve the settings

= 1.7.0 =

  • New: Added German translations
  • Fix: Reversed some code in freemius to make it compatible with older versions of PHP (< PHP 7.2)
  • Fix: Fixed the uninstall hook for it to work with freemius
  • Tweak: Added some comments for translators
  • Tweak: Removed old language packs
  • Tweak: Add gtag config if gtag insertion is disabled
  • Tweak: Rating request improved
  • Tweak: Removed plugin ads
  • Tweak: Added documentation
  • Tweak: Updated db scheme
  • Tweak: Merge new default options recursively
  • Tweak: On save merge new and old options recursively, set missing checkbox options to zero, omit db_version

= 1.6.17 =

  • Tweak: Reactivate freemius

= 1.6.16 =

  • Fix: Deactivate freemius

= 1.6.15 =

  • Tweak: Adjusted freemius main slug for plugin

= 1.6.14 =

  • New: Implemented Freemius telemetry
  • Tweak: Adjustments to the descriptions and links to new documentation
  • Tweak: Only run if WooCommerce is active

= 1.6.13 =

  • New: Implemented framework for sections and subsections
  • Tweak: Some code cleanup
  • Tweak: Made strings more translation friendly
  • Tweak: Properly escaped all translatable strings
  • Fix: Textdomain

= 1.6.12 =

  • New: Plugin version output into debug info
  • Fix: Conversion id validation
  • Tweak: Moved JavaScript to proper enqueued scripts
  • Tweak: Bumped up WC and WP versions

= 1.6.11 =

  • New: Tabbed settings
  • New: Debug information
  • Tweak: Code style adjustments

= 1.6.10 =

  • Fix: Disabled some error_log invocation since it can cause issues in some rare server configurations

= 1.6.9 =

  • Fix: Re-enabled settings link on plugins page

= 1.6.8 =

  • Fix: Changed how Borlabs Cookie activation works

= 1.6.7 =

  • Fix: Implemented check for Borlabs minimum version

= 1.6.6 =

  • New: Added option to disable the pixel with a filter add_filter( 'wgact_cookie_prevention', '__return_true' )
  • New: Added Borlabs cookie management approval for marketing
  • Tweak: Refactored the code into classes

= 1.6.5 =

  • Tweak: Removed duplicate noptimize tag
  • Tweak: Removed CDATA fix since it is not necessary anymore with the new conversion tag

= 1.6.4 =

  • Fix: Fixed the calculation for the non-default order total value (which includes tax and shipping)

= 1.6.3 =

  • Info: Tested up to WP 5.4

= 1.6.2 =

  • Tweak: More reliable method to detect the visitor country added

= 1.6.1 =

  • New: Add Cart Data feature
  • New: Added a switch to disable the insertion of the gtag
  • Tweak: Added more descriptions on the settings page
  • Tweak: Code optimisations

= 1.5.5 =

  • Tweak: Made the conversion ID and label validation code more robust

= 1.5.4 =

  • Tweak: Updated function that inserts the settings link on the plugins overview page

= 1.5.3 =

  • Info: Tested up to WP 5.2

= 1.5.2 =

  • Fix: Correctly calculate the value when no filter is active

= 1.5.1 =

  • Tweak: Re-enabled order value filter

= 1.4.17 =

  • Info: Tested up to WP 5.1

= 1.4.16 =

  • Info: Updated a few text strings

= 1.4.15 =

  • Info: Changing name from AdWords to Google Ads

= 1.4.14 =

  • Info: Tested up to WC 3.5.3

= 1.4.13 =

  • Info: Tested up to WC 3.5.2

= 1.4.12 =

  • Tweak: bumping up the WC version

= 1.4.11 =

  • Tweak: remove some debug code
  • fix: properly save the order_total_logic option

= 1.4.10 =

  • Tweak: switched sanitization function to wp_strip_all_tags

= 1.4.9 =

  • Tweak: Added input validation and sanitization
  • Tweak: Added output escaping

= 1.4.8 =

  • Tweak: Added discounts into order value calculation

= 1.4.7 =

  • New: Switched over to the newest version of the AdWords conversion tracking pixel

= 1.4.6 =

  • Tweak: Disabled minification through Autoptimize

= 1.4.5 =

  • Tweak: Order ID back in apostrophes

= 1.4.4 =

  • Tweak: Switched on JavaScript tracking with a fix for the CDATA bug
  • Tweak: The correct function is being used to get the currency depending on the WooCommerce version
  • Fix: Added missing noscript tag

= 1.4.3 =

  • Tweak: Remove campaign URL parameter

= 1.4.2 =

  • Fix: Backward compatibility for $order->get_currency()

= 1.4.1 =

  • Tweak: Making the plugin PHP 5.4 backwards compatible
  • Fix: Fixing double counting check logic

= 1.4 =

  • New: Ask kindly for a rating of the plugin
  • New: Add a radio button to use different styles of order total
  • Tweak: Consolidate options into one array
  • Tweak: Code cleanup

= 1.3.6 =

  • New: WordPress 4.8 compatibility update
  • Tweak: Minor text tweak.

= 1.3.5 =

  • Fix: Fixed a syntax error that caused issues on some installations.

= 1.3.4 =

  • Tweak: Added some text output to make debugging for users easier.

= 1.3.3 =

  • Tweak: Refurbishment of the settings page

= 1.3.2 =

  • New: Uninstall routine

= 1.3.1 =

  • New: Keep old deduplication logic in the code as per recommendation by AdWords

= 1.3.0 =

  • New: AdWords native order ID deduplication variable

= 1.2.2 =

  • New: Filter for the conversion value

= 1.2.1 =

  • Fix: wrong conversion value fix

= 1.2 =

  • New: Filter for the conversion value

= 1.1 =

  • Tweak: Code cleanup
  • Tweak: To avoid over reporting only insert the retargeting code for visitors, not shop managers and admins

= 1.0.6 =

  • Tweak: Switching single pixel function from transient to post meta

= 1.0.5 =

  • Fix: Adding session handling to avoid duplications

= 1.0.4 =

  • Fix: Skipping a tag version

= 1.0.3 =

  • Fix: Implement different logic to exclude failed orders as the old one is too restrictive

= 1.0.2 =

  • Fix: Exclude orders where the payment has failed

= 1.0.1 =

  • New: Banner and icon
  • Update: Name change

= 1.0 =

  • Update: Release of version 1.0!

= 0.2.4 =

  • Update: Minor update to the internationalization

= 0.2.3 =

  • Update: Minor update to the internationalization

= 0.2.2 =

  • New: The plugin is now translation ready

= 0.2.1 =

  • Update: Improving plugin security
  • Update: Moved the settings to the submenu of WooCommerce

= 0.2.0 =

  • Update: Further improving cross browser compatibility

= 0.1.9 =

  • Update: Implemented a much better workaround tor the CDATA issue
  • Update: Implemented the new currency field
  • Fix: Corrected the missing slash dot after the order value

= 0.1.8 =

  • Fix: Corrected the plugin source to prevent an error during activation

= 0.1.7 =

  • Significantly improved the database access to evaluate the order value.

= 0.1.6 =

  • Added some PHP code to the tracking tag as recommended by Google.

= 0.1.5 =

  • Added settings field to the plugin page.
  • Visual improvements to the options page.

= 0.1.4 =

  • Changed the woo_foot hook to wp_footer to avoid problems with some themes. This should be more compatible with most themes as long as they use the wp_footer hook.

= 0.1.3 =

  • Changed conversion language to 'en'.

= 0.1.2 =

  • Disabled the check if WooCommerce is running. The check doesn't work properly with multisite WP installations, though the plugin does work with the multisite feature turned on.
  • Added more description in the code to explain why I've build a workaround to not place the tracking code into the thankyou template of WC.

= 0.1.1 =

  • Some minor changes to the code

= 0.1 =

  • This is the initial release of the plugin. There are no known bugs so far.