Handling "what-ifs"
- Strip non-UTF8 characters from email subject when logging emails being read
- Wrap event for email send tracking in try/catch just in case Google Analytics servers are having issues
- Moved initial Analytics JavaScript higher up in page execution chain (hopefully prevents third-party gtag() code from failing if wrapped in <xf:js /> tags)
- Made the template modification that injects the main JavaScript work a little better (specifically made compatible with newer versions of XenForo).
- Force user_id to be integer before sending it via Measurement API (usually for things like logging emails being read).
- Made change to Nestable usage so it works in 2.2 and 2.3 (was waiting for Nestable fix: Fixed - Nestable not coercing value )
- Added option to reset encryption key (used for email tracking) under Admin -> Tools -> Rebuild caches
- Fixed FontAwesome icon on button for setting Measurement ID
!!Important!!
- Fixed issue when tracking emails being opened and the encrypted payload is invalid
- Changed user property for tracking user ID from uid to usid
It seems Google Analytics doesn't allow creation of the user property uid any longer so user ID tracked has been changed to usid. For new installations, nothing needs to change, but for existing installations, you'll want to go into your Google Analytics admin area to: Admin -> Data display -> Custom dimensions, and rename the existing User ID dimension to something else (for example User ID OLD)
Should look something like this:
![]()
Edit the User ID dimension:
![]()
Once you have done that, go to XenForo admin -> Options -> Analytics and click the "Set" button. If you reselect your property and data stream, it will create the new user ID dimension, usid automatically.
Once that is all done, your custom dimensions in Google Analytics will look something like this:
![]()
You can archive the User ID OLD dimension if you want since it's not going to be used going forward.
XenForo 2.3 updates:
Other:
- Updated overlay page tracking to work with lazy loaded core XenForo JavaScript
- Fixed compatibility issue with email tracking in XenForo 2.3 (different getTo() method)
- Changed verbiage from "conversation" to "direct message" on settings when using XenForo 2.3
- Don't try to generate an encryption key during setup if Sodium extension isn't installed
- Ignore invalid payload for email tracking (if payload can't be decrypted for whatever reason)
- Update mail class to concurrently work with XenForo 2.2 and 2.3
- If site is running XenForo 2.3, the last bit of JavaScript code that needed jQuery has been rewritten (specifically the $.on() usage is rewritten for XF.on()).
- Change JavaScript to have overlay page tracking work with is unexpected objects (third-party addon: DragonByte eCommerce)
- Raise the "all time" start date for charts to 2016 (Google API can only go so far back without throwing an exception)
- All JavaScript has been rewritten to be "native" (does not use jQuery) in preparation for removal of jQuery in XenForo 2.3.
- Fixed issue with app_install_prompt PWA event being triggered
- Added ecommerce support for DigitalPoint/Marketplace addon. Events:
- view_item_list
- view_item
- add_to_cart
- view_cart
- begin_checkout
- purchase