Rich-text Reply

PPID, projects, and dealing with marketing site vs. logged-in site

mikefiorillo 09-19-16

PPID, projects, and dealing with marketing site vs. logged-in site

Given that using Universal ID will clear the OptimizelyBuckets cookie, it is suggested that you only track pre-login events on your pre-login pages.


This presents a problem for anyone using Optimizely with a desire to track across the full funnel. For instance, you might have a marketing site where a user can signup and start using your product. You want to track what kind of engagement they have once their in-product, or whether or not they upgrade or invite others. What is the best practice for dealing with this kind of scenario if you want to use Universal ID within the product to ensure consistent bucketing?


For instance, does it make sense to use a separate Optimizely project for your marketing website and product? If so, how do you ensure you attribute downstream events to your upstream experiments?


One approach I'm considering is having separate "marketing" and "product" Optimizely projects, and then storing Optimizely cookie data from the "marketing" project in a database on initial signup in order to map post-signup events to the appropriate pre-signup experiments. The downside to this is you may want to have experiments on the marketing website that target existing users rather than new anonymous visitors, in which case perhaps it's better to just forget about PPID altogether and accept that users might not get consistently bucketed.


Would appreciate help from other Optimizely users dealing with similar challenges of doing both website and product testing!

Growth & optimization pro focused on SaaS
DavidS 09-21-16

Re: PPID, projects, and dealing with marketing site vs. logged-in site

Hi mikefiorillo,


Thanks for reaching out to Optimizely!

Having a separate project for marketing and product will imply using two snippets on the same domain, which will cause the first OptimizelyEndUserID to be overwritten by the first one. This will potentially prevent consistent user bucketing. 


Another alternative may be to set the UUID to be equal of the value set by your analytics's platform user id cookie (_gaq for Google Analytics for example). If you have cross-domain tracking and cross-device tracking enabled in Google Analytics, this would provide a way for you to track users accross domains or devices. I'd then use an Optimizely Custom Dimension to define if a user is logged in or not. This would also give you the ability to use this segment to filter your results


Finally, another alternative is to use the bucketVisitor API ( and take full control of which variation a specific visitor will see. It will be up to you to assign the right variation to the right user but will give you a lot more flexibility as to what you want to track and the experiments you want to run. 


I hope that is helpful. Feel more than free to reply back with any additional questions at all.