Despite instructing a Community member to “search my posts” the other day, I ran a search myself and there wasn’t a one-stop explanation of what Do Not Track (DNT) means in Marketo (on a deeper technical level than you get on the official doc page). So here goes.
As you probably know already, there are 2 DNT options, Ignore and Support:
We won’t worry about Ignore.
But what does it really mean to choose Support? On a technical level, it means one specific thing:
If a user’s browser sends the DNT: 1 HTTP request header along with a Munchkin-logged pageview or link click, Marketo will not save the activity to the Activity Log database.
So here are some things Do Not Track = Support does not do:
- it does not stop gathering Clicked Email stats: email clicks are still tracked unless you separately turn off link tracking
- it does not stop Munchkin JS libraries from loading
- it does not stop Munchkin from initializing and setting its _mkto_trk cookie
- it does not stop Munchkin from sending a Visit Web Page (assuming you're using the default configuration which always sends a VWP on startup)
- it does not stop Munchkin from sending a Clicked Link for <a> links on the page
But again, here's the very important thing it does do:
- it stops the Marketo platform from storing the Visit Web Page and Clicked Link hits sent by Munchkin
Why not stop Munchkin completely?
It's not that Marketo would not like to be more proactive on the browser side, I'm sure. But the weirdest thing about DNT is there's no programmatic (let alone cross-browser) way to know if the user has set a preference! Ergo, you cannot know if the person would've wanted you to turn off Munchkin downloading/initialization/hit logging. You have to dumbly send the hit in all cases, then the server will discard it if it's accompanied by the “please ignore me” header.
The browser's-eye view
The browser sending the DNT: 1 header is a prerequisite, of course. Privacy-oriented browsers do this by default; other browsers do it in Private/Incognito/InPrivate mode only; the the rest do it for all pages/tabs/windows when selected. Here's the setting in an older version of Chrome, for one of a zillion examples, which will send DNT: 1 for all pages viewed in this user profile:
And here’s a screenshot of the HTTP request for the main document, showing the header:
And Munchkin’s Visit Web Page XMLHttpRequest, showing the same HTTP request header and its acknowledgment in the response: