- Figure out why you're not seeing the right experience in a Personalization campaign
- Figure out whether you're qualifying for the right audience in a Personalization campaign
- Figure out if you're in the campaign holdback
Are you experiencing any of the following issues:
You've published your campaign, but you're not seeing the personalized experience that you expect
You're not sure if you're qualifying for an audience
You want to know if you're in the holdback of a campaign
This article will help you troubleshoot the experiences in your live campaign. If you'd like to QA unpublished changes in your campaign, read about the Preview tool.
If your variation isn't rendering as expected in Optimizely Testing, troubleshoot your variations instead.
1. Check that the snippet is configured
First, check that the Optimizely snippet is installed. Then, confirm that it's configured for Personalization. You'll do both of these things in the browser console.
Load your page in a browser. In Chrome's Developer Tools, use the following keyboard shortcuts to open the console:
Windows: Ctrl + Shift + J
Mac: Command + Opt + J
Once the console is open, type optimizely. If it returns an object, then Personalization is enabled. A returned object might look something like this:
If an error is returned, such as "optimizely is not defined," then the snippet isn't implemented correctly.
Learn about implementing the snippet.
Check that the snippet installed synchronously at the top of the page.
Make sure that the snippet is at the top of your <head> tag, as we recommend in the snippet implementation walkthrough.
Make sure Personalization is included in the snippet.
In Optimizely, navigate to the Settings dashboard. Under the Implementation tab, toggle the dropdown menu to Enabled.
Check Use both new and Classic Optimizely.
2. Check that the snippet is up to date
Once you've published your campaign, you can check whether the snippet has updated in the developer console.
Open the developer console.
Filter for messages labeled "verifier":
While the CDN is updating, the verifier will log messages that look like this:
[VERIFIER] Verifying CDN revision for projectId (attempt #): * < **
* indicates the revision # that the CDN is currently at
** indicates the revision # that you are waiting for
Once the CDN is up to date, you'll see a message like the following:
[VERIFIER] CDN up to date for projectId ... at revision **
Once the verifier indicates the CDN is updated, double-check the page by executing
optimizely.get(‘data’).revisionin the developer console.
3. Check the console log
If you run into issues during your QA process that you can't easily diagnose, the Optimizely log is a valuable resource. Think of the log as a way of "reading Optimizely's mind."
You can enable logs by reloading your web page with the query parameter,
If you want to see more or fewer low-level messages, replace
info with one of the following "log levels" (listed in order from most terse to most verbose):
off: no messages
error: only errors (i.e. unexpected conditions that might cause the snippet to run improperly)
warn: unusual conditions that might indicate a misconfiguration
info: Recommended when you're trying to identify what's running and what's not.
debug: May be useful if you're trying to identify why something is or isn't running.
all: all messages, including detailed debugging information (intended for developers)
Open your browser's developer console to see the log messages.
You can also read about campaign activation in our developer documentation to learn how to search the console log and see if you're in the campaign.
If you're not in the campaign, check your URL targeting.
4. Check the holdback
Are you not seeing a personalized experience because you're in a campaign holdback? Here's how to check.
In the console log, use the following methods:
If the value returned is
true, you're in the holdback. So, not receiving a personalized experience may be expected behavior. Try visiting the page again with an incognito browser.
If the value returned is
false, you aren't in the holdback. Next, check that you're qualifying for the audience you expect.
5. Check audience prioritization
Finally, check your audience prioritization. If your campaign has multiple experiences, your prioritization setup determines which experience a visitor sees if they qualify for two or more audience.
In the console log, enter
window.optimizely.data.layersto see all audiences prioritized from first to last.
If audiences are prioritized incorrectly and the snippet is up to date, return to your campaign to check your audience setup.
If the setup looks right but you still aren't seeing the experience you expect, consider filing a support ticket. We're happy to help.