Version 5.3.1 (GTM Build 760b3)
The Deviate Tracking engineering team has been hard at work, and we are proud to bring you version 5.3.1 of Deviate Tracking. This update contains a GTM bug workaround, several quality-of-life improvements, and some backend stability updates. Power users of Deviate Tracking will also enjoy two new advanced debugging features.
Undefined Checkbox Fix
For those of you who haven’t encountered this issue, the undefined checkbox bug was a rare issue with GTM. A checkbox sometimes appeared checked, but Google would still treat it as unchecked. The only way to spot the bug was to notice that your events weren’t being sent. That’s right, the bug blocked all events. Fortunately, the bug was quite rare and most users were not affected.
For those that were affected, we provided a temporary manual solution. Users had to uncheck and then recheck all checkboxes in all their Deviate Tracking tags — tedious at best, infeasible at worst. With Deviate Tracking v5.3.1, this process is no longer necessary. Simply update your template, and your Deviate Tracking tags will just work.
Deviate Tracking v5.3.1 also brings a handful of minor QOL improvements. Based on feedback from our users, we’ve rewritten many of the instructions embedded within the tag with an eye for clarity and concision. We’ve also added a tooltip to the Deviate Tracking Key field, clarifying that it’s not the same as your account password.
Graph API Migration
The biggest change to the Deviate Tracking API is that we are now using version 12 of Facebook’s Graph API. This fixes issues that some of our users were having with older Facebook CAPI tokens. All users have been automatically migrated to the new Deviate Tracking API (even those who haven’t updated their template).
Standard HTTP Codes
If you’re an advanced user who likes to dig around in devtools, you’ll be happy to hear that the DT API now adheres to HTTP status standards. Previously, the API would respond with 200 OK even when it had rejected a request. We’ve added the following status codes:
- Unauthenticated requests are rejected with 403 Forbidden
- Malformed requests are rejected with 400 Bad Request
- Requests that produce a Facebook error are rejected with 500 Internal Server Error
- Successful requests are resolved with a 200 OK
New Debugging Features
Here at Deviate Tracking, we strive to be responsive to user feedback. That’s why we’re introducing two new features meant for advanced users: debug mode and testing mode. Both features are enabled through the presence of their respective query parameter.
These are advanced features. If you don’t know what a query parameter is, or you aren’t comfortable with devtools, you should not use these features. Used correctly, these features can cut hours off your development time — used incorrectly, they can break your tracking or compromise your website’s security.
The first new feature is debug mode. Debug mode is enabled by adding
dtdebug=true to your URL’s query parameters. It causes Deviate Tracking to log out information about its internal workings, including:
- tag settings
- the exact data sent via Facebook Pixel or the DT API
- your DT API key
- whether a tag is waiting for another
- and much more
It should be clear from the list above why permanently enabling debug mode would compromise security. Additionally, it is generally considered a bad idea to use console.log in production. However, this information is quite useful when debugging your Deviate Tracking installation. If you’re a power user who prefers to solve their own problems, crack open devtools sometime and take a look.
The second new feature is test mode. Test mode is enabled by adding
dtTestCode=<FB test code here> to the URL’s query parameters. You can get a Facebook test code by going to Events Manager and then selecting the Test Events tab at the top.
Enabling test mode causes Deviate Tracking to send all events with the test code. Notably, test mode will override the Test Event Code field in all Deviate Tracking tags on the page — this is intentional. With test mode, you no longer have to manually set the test code in every tag, and it’s much harder to forget to remove the test code when you’re done testing.
We have no plans to remove the Test Event Code field at this time.
To minimize risk, avoid sharing URLs with debug mode or test mode enabled. We understand that you may want to share the URL with your engineering team — that’s fine. However, you should never post a debug or test mode URL on a public website. Imagine if that was the URL that went viral and none of the traffic was counted.
If you’re not an advanced user, we recommend avoiding debug mode and test mode altogether.
Interested in trying Deviate Tracking? Start your free trial today.