Skip to content
MorphMorph Docs
Troubleshooting

Rules Not Working

Troubleshoot when personalization rules don't activate as expected.

If you've created rules and published your site but visitors aren't seeing the right variants, work through these checks.

Rule is not Active

Rules must be in Active state to be served. Check the rule status in the plugin — if it says Draft or Paused, toggle it to Active and save.

Conditions don't match

The most common cause. Verify your conditions:

  1. UTM conditions — make sure you're testing with the exact URL parameter name (e.g., utm_source, not utmsource). The value matching is case-insensitive, so Google will match google.

  2. Device condition — test on an actual device or use browser DevTools' device emulation (responsive mode).

  3. Visitor Type — "returning" requires the morph_ret cookie to exist. If you clear cookies between tests, you'll always be classified as "new". Use an incognito window for "new visitor" testing.

  4. Multiple conditions — all conditions on a variant must match (AND logic). If one doesn't match, the variant won't show.

Variant layer is hidden

If you hide a variant layer in Framer's layer panel (eye icon or right-click → Hide), Framer excludes it from the published HTML. The Morph runtime can't show a variant that doesn't exist in the page.

Fix: Select the variant layer in Framer's layer panel and make sure it's visible. Then republish your site. To preview variants safely while designing, use the Preview button inside the Morph plugin instead of hiding layers manually.

Component naming

Morph identifies elements on the published site using the data-framer-name attribute. If your component isn't named in Framer's layer panel, it may not have this attribute.

Fix: In Framer, make sure the layer you selected for personalization has a name in the layers panel (not just "Frame" or an auto-generated name).

Variant order

Variants are evaluated top-to-bottom. If a visitor matches multiple variants, the first match wins. Check that your most specific variants are listed first.

Cache

The runtime script has a 5-minute cache. After saving rules, wait up to 5 minutes or republish your Framer site to force a fresh load.

Testing checklist

  1. Rule status is Active
  2. Rules are saved (no Unsaved Changes banner)
  3. Snippet is connected (Account tab shows green)
  4. Site is published after saving rules
  5. Test URL has correct UTM parameters (value matching is case-insensitive)
  6. Browser cache is cleared (or use incognito)
  7. Account is not paused (check Plan tab)

For a full walkthrough of testing each condition type, see Testing Rules.