Verify and troubleshoot your installation
This page shows how to confirm that the Personizely snippet is installed and running on your site, how to read what it reports in the browser console, and how to fix the most common installation problems. Use it after installing, and whenever a campaign or widget doesn't appear where you expect it.
Quick check
- Open your live site in a normal browser window. Avoid tag-manager preview modes, page builders' editor previews and speed-test tools.
- Open the developer console (F12, or right-click → Inspect → Console).
- Look for one of these messages:
Console message | What it means |
|---|---|
Personizely initialized. Startup time: <n>ms | The snippet is installed and running. |
Personizely will not run because it is explicitly disabled | The URL contains ply_disable. |
Personizely will not run because the license is paused | Tracking is paused in Settings → Tracking, the monthly visitor quota is used up, or the account is paused or cancelled. See Plans, visitor quota and pausing. |
Personizely will not run because another instance is already initialized | The snippet is on the page twice. Only the first copy runs. |
Personizely will not run because we need to load the preview plugin | A preview link is open; the preview version is loading instead. This is expected. |
No Personizely message at all | The snippet isn't on the page, or it was blocked. See Troubleshooting. |
- In Personizely, open the Dashboard. The Snippet card shows whether the snippet is installed, whether tracking is active, and a warning if tracking is paused.
- In Settings → Website, click Check code (on Shopify, Check in the install step). It also finds snippets added through a tag manager.
Personizely also marks the snippet as installed automatically as soon as it receives the first visit from your site.
Debug tools
Tool | What it does |
|---|---|
?ply_debug=1 | Add to any URL to print detailed logs in the console: visitor identification, targeting, the campaigns and widgets that ran (and, for campaigns, whether one was skipped because of the page, the target or traffic allocation), blocked traffic and page changes in single-page apps. To keep it on across pages, set a cookie named ply_debug with any value. |
window.plyUnrollLogs() | Run in the console on a page loaded without ply_debug to print the logs collected so far. |
?ply_disable=1 | Stops Personizely on that page view. Use it to see your original site, for example to compare against a variation. |
?ply_preview_campaign=<campaignId>.<variationId> | Shows one campaign variation, ignoring targeting, allocation and schedule, without recording anything. See Preview and QA campaigns. |
?ply_preview_widget=<widgetId>.<variationId> | Shows one widget variation regardless of its status and rules, without recording anything. |
Preview links are available from the campaign and widget editors, so you rarely need to build them by hand.
Troubleshooting
The snippet isn't on the page
- Shopify → the Code snippet app embed is off, or it's on in a theme that isn't live. Turn it on in the live theme and click Save. See Install Personizely on Shopify.
- Wix, Webflow → the site hasn't been published since you connected it, or you're looking at the editor preview.
- Script tag → the tag was added to one template only. Put it in the shared header or layout so every page has it.
- Caching → a page cache or CDN is serving HTML from before the install. Purge the cache.
The snippet is on the page but never runs
- Optimization plugins that combine, delay or defer JavaScript can stop it. Exclude static.personizely.net from those features. The WordPress plugin does this automatically for common optimizers. See Install Personizely on WordPress and WooCommerce.
- Content Security Policy errors in the console ("Refused to load the script" or "Refused to connect") → allow Personizely's hosts. See Content Security Policy (CSP).
- Consent managers that block third-party scripts until opt-in → Personizely runs only after the visitor consents. Test after accepting the banner. See Cookies and consent.
It runs, but campaigns or widgets don't show for me
- You're excluded by traffic filtering. If your IP or country is excluded in Settings → Security, Personizely doesn't show campaigns or widgets to you. With ?ply_debug=1 the console logs that traffic was blocked. See Traffic filtering and bots.
- The campaign or widget isn't running. Only running items are part of the live snippet. Scheduled items wait for their start date.
- You're in the control group, or the targeting, page or rules don't match you. Use a preview link to see a specific variation, and ?ply_debug=1 to see why something didn't run.
- You already saw it. Frequency rules and visitor assignment persist in your browser. Use a private window to test as a new visitor.
Changes I made don't show up
Saved changes reach your live site within moments. If you still see the old version, reload without cache, or open a private window. Your browser may have kept the previous snippet for a short time.
Ad-blockers
On Shopify, Personizely keeps working when common ad-blockers are active. On other platforms, and with strict blocking setups or privacy browsers anywhere, it can be blocked for some visitors. Those visitors see your original site and aren't counted in reports, so results stay valid for everyone who is counted.
The snippet loads twice
This happens with an app or integration plus a manually pasted tag, or a tag in the theme plus one in a tag manager. Only the first copy runs, so nothing breaks, but remove the extra one. On Shopify, keep the app embed and remove the manual tag.
The Snippet card shows "paused"
Tracking is paused in Settings → Tracking, or your visitor quota for the month is used up. All campaigns and widgets are stopped until you resume tracking, upgrade, or the quota resets. See Plans, visitor quota and pausing.
Automated tools don't see Personizely
Personizely doesn't run for recognized bots and crawlers, so automated screenshots, crawlers and some testing tools show your original site. Test in a real browser.