Migrating from Optimeleon 1.0
If your site still carries the Optimeleon 1.0 snippet, remove it before pasting the 2.0 one. Running both puts two scripts in a race for the same DOM.
Optimeleon 2.0 is a new system, not an upgrade of the old script. If your site still carries the 1.0 snippet, it has to come off before the 2.0 one goes on.
How you know you have it
You do not have to check by hand. Optimeleon probes your pages and, if it finds the 1.0 paste, inserts a “Remove your old snippet” step into the checklist. Projects with no 1.0 history never see this step at all.
The step shows you exactly what to look for. In your page source it is the older, single-script Optimeleon paste, the one whose consent call is setOptiCookieConsent('yes') rather than optimeleon('consent', …).
Remove the 1.0 snippet from every template
Delete the old script tags wherever they were injected, usually theme.liquid, your base template, or a global header include. If it was installed through a tag manager, pause and remove that tag.
Also remove any 1.0 consent calls (setOptiCookieConsent) and any 1.0 event calls left behind in your CMP callbacks or conversion handlers. They are inert in 2.0, but leaving them there guarantees confusion in six months.
Purge every cache in front of your site
A CDN or page cache will keep serving the old HTML long after you have edited the template. Purge your caching plugin, your CDN, and any full-page cache before you re-check, otherwise you will be looking at yesterday's page.
Re-check
Press Re-check on the step. Optimeleon probes your pages again. When the 1.0 markers are gone, the step banks its green tick and the script step unlocks.
What carries over, and what does not
| From 1.0 | In 2.0 |
|---|---|
| The base script | Replaced. The 2.0 paste is an inline bootstrap plus two bundles. See Installing the script. |
setOptiCookieConsent('yes') | Replaced by optimeleon('consent', { analytics: true }), which also handles withdrawal. See Consent & cookies. |
optimeleon("track", "name") | Still track, but events are now defined in the app first and the call takes properties: optimeleon('track', 'name', { … }). See Conversion events. |
| Your 1.0 campaigns and variants | Not migrated. 2.0 builds variants from a fresh scan of your live page, so there is nothing to carry across. You start by scanning the page. |
| Your 1.0 historical data | Not migrated. 2.0 measures on its own pipeline from the moment your install verifies. |
