ID Workaround for Safari Intelligent Tracking Protection

apple safari's intelligent tracking protection (itp) caps client side cookies to a 7 day lifespan for the purposes of itp, client side cookies are those cookies set via document cookie , the traditional way to set cookies using javascript this limitation directly affects monetate's functionality because identifiers are intended to last much longer than 7 days so that monetate can properly ensure, for purposes of analytics and who targeting, split assignment in tests (ensuring a customer always sees split a in a standard test experience, for example) and track customer behavior, such as returning sessions, products viewed, carted, and purchased over time with itp 2 2, cookie lifespans can be further limited to 1 day if certain specific conditions are met these conditions are strict and primarily exist to block what is known as link decoration, a tactic often used by trackers on social media link decoration involves the use of query strings for identifying users and doesn't directly affect monetate's functionality by default, the monetateid set in the mt v cookie has an expiration date of 5 years when a customer returns to the site, the expiration date is further extended to 5 years from that visit itp2 x overrides the expiration date and potentially causes customers to be identified as new, thus making them eligible for different variant assignment in testing experiences, as well as preventing the persistent tracking of customer behavior to get around itp2 x issues, you must configure the baseline implementation to look to a client defined unique identifier instead of the monetate–generated mt v cookie value ( monetateid ) implementing the workaround monetate clients are responsible for establishing and determining a persistent identifier for the device/browser this persistent identifier can be from any cookie or javascript variable as long as the value is consistent for that customer in that device/browser combination and is present before the monetate tag runs for monetate javascript api implementations if you're leveraging the getting started with the javascript api to implement monetate, then you must add the following code to every track request made on site, replacing 'string' with the device/browser unique identifier as defined in your implementation deviceid workaround window\ monetateq push(\['setdeviceid', 'string']) for custom integrations if you rely on a monetate–managed custom integration, a script update is required so that the monetate tag looks to your client defined unique identifier instead of the monetateid ( mt v cookie ) generated by the tag contact your client success manager (csm) if you're unsure if you use the monetate javascript api or a custom integration maintained by monetate testing the workaround after you make the updates, you can use the monetate inspector browser plug in to check that deviceid is being used instead of monetateid to accomplish this task, click the additional options menu ( ) on the track tab the same updates to safari's itp that block third party cookies on your site also prevent monetate inspector from working in safari no known workaround for monetate inspector is available at this time monetate recommends using a different browser such as chrome to use the inspector tool this screenshot of monetate inspector shows that the site is using the monetateid generated by the monetate tag this screenshot of monetate inspector shows that the site is using deviceid