Skip to content
Login Contact

Troubleshoot Experiences preview and delivery issues

The embedded preview loads resources through Marfeel’s proxy using a dedicated User Agent. If your site’s Web Application Firewall (WAF) or paywall blocks these requests, the preview page will fail to load.

Solution: Whitelist Marfeel’s preview User Agent on your server. If whitelisting isn’t possible, disable the proxy and customize the User Agent string in Experiences Settings > Custom User Agent for Preview.

For details on Marfeel’s crawlers and User Agents, see Marfeel Crawlers.

If your site’s CORS (Cross-Origin Resource Sharing) policy prevents content from being displayed in iframes on other domains, the embedded preview will fail to load.

Symptom: The browser console shows an error like:

Uncaught SecurityError: Failed to read a named property 'document' from 'Window': Blocked a frame with origin "https://playground.mrf.io" from accessing a cross-origin frame.

Solution: Add playground.mrf.io to your CORS policy whitelist to allow the embedded preview to load content from your site.

CORS policies may prevent the browser from loading external resources like CSS files, images, or fonts, causing the preview to look different from the normal browsing experience.

Diagnosis: Open browser developer tools and check the Network tab for failed requests. Look for 403 or CORS-related errors on stylesheet, image, or font files.

Solution: Update your CORS policy to allow requests from playground.mrf.io for static assets (CSS, images, fonts).

Experiences with triggers configured will not appear until those conditions are met. A scroll trigger set to 50%, for example, will not fire if you do not scroll down the preview page.

Diagnosis: Check if triggers are configured in the Format tab under Advanced Settings.

Solution: Use the Disable Triggers option in the preview options menu (three dots). This bypasses all triggers and shows the experience immediately, useful when focusing on visual adjustments. Remember to re-enable and test triggers before publishing.

CSS Selector not matching (Inline experiences)

Section titled “CSS Selector not matching (Inline experiences)”

Inline experiences require a matching CSS selector on the page. If the selector does not match any element, the experience will not inject.

Symptom: A warning appears below the CSS Selector field in the Format tab stating the selector was not found.

Solution:

  1. Verify the CSS selector is correct for the preview URL
  2. Use the target icon in the preview toolbar to select the desired element and generate an optimized CSS selector automatically
  3. If the selector works on some pages but not others, use multiple CSS selectors or placement fallbacks.

Flowcards require AMP-valid content. When using a Custom URL Flowcard, rendering fails if the URL does not point to an AMP-compliant page or does not link to an AMP version via the <link rel="amphtml"> tag.

Symptom: Flowcard appears empty or shows an error in preview.

Solution:

  1. Verify the URL points to an AMP page
  2. If the page is not AMP, add a <link rel="amphtml" href="..."> tag in the page head pointing to the AMP version
  3. For Recommender Flowcards in Article mode, the system automatically excludes articles without AMP versions

See Flowcards: AMP compatibility for details.

Custom layouts using Mustache template syntax fail to render when the template logic contains errors or the data does not match the expected structure.

Symptom: Experience does not appear, or placeholder content shows instead of actual data.

Diagnosis:

  1. Switch to JSON view in the preview options menu to verify the data being passed to the layout
  2. Open the layout editor (Content tab) and check for template syntax errors or missing variables

Solution:

  1. Fix Mustache syntax errors in the layout template
  2. Verify the template variables match the data structure in the JSON response
  3. Add fallback logic in the template for optional or missing data fields

No content available (Recommender experiences)

Section titled “No content available (Recommender experiences)”

Recommender experiences fail to render when no articles match the configured filters and ranking algorithm.

Symptom: Experience does not appear in preview, or appears empty.

Diagnosis: Switch to JSON view in the preview options menu. If the response shows an empty article list or no recommendations, the filters are too restrictive.

Solution:

  1. Check Content tab filters: time window, section restrictions, and topic filters may be too narrow
  2. Test with a broader time window (e.g., 7 days instead of 24 hours)
  3. Verify the preview URL is on a page that matches your content filters
  4. Configure fallback behavior in the Recommender settings

See Content and Recommender for details on filters and fallback mechanisms.

If none of the above issues apply and the experience still does not appear, a server-side issue with the Experience Manager or delivery infrastructure may be the cause.

Diagnosis: Check the browser console for 500-level HTTP errors or timeout messages.

Solution: Contact Marfeel Support with:

  • Experience ID
  • Preview URL being tested
  • Browser console error messages
  • Approximate time the error occurred

Experience appears in preview but not live

Section titled “Experience appears in preview but not live”

Targeting rules may exclude your current browser session. If the experience targets new users only and your browser has existing loyalty signals, the experience will not appear.

Diagnosis: Review the Targeting tab configuration. Check loyalty segment, device type, geographic location, and custom variable filters.

Solution:

  1. Test in an incognito/private browser window to simulate a new user
  2. Use the #mrfexp={EXPERIENCE_ID} parameter to force the experience to appear regardless of targeting
  3. Temporarily broaden targeting rules for testing, then restore them before publishing

See Targeting for details on targeting dimensions.

If the experience has frequency capping configured (Delivery tab), you may have already seen it the maximum number of times allowed within the time window.

Diagnosis: Check the Delivery tab for “Limit per user” settings.

Solution:

  1. Clear browser cookies and local storage to reset frequency caps
  2. Test in an incognito/private browser window
  3. Use the #mrfexp={EXPERIENCE_ID} parameter to bypass frequency caps during testing

See Delivery and Scheduling for details on frequency capping.

When multiple experiences target the same placement (e.g., two Flowcards or two Inline experiences with the same CSS selector), only the highest-priority experience appears. A lower-priority experience will not render.

Diagnosis: Check the Delivery tab Priority setting and review other active experiences that might conflict.

Solution:

  1. Increase the experience’s priority value to ensure it wins conflicts
  2. Adjust targeting rules to avoid conflicts with other experiences
  3. Use the #mrfexp={EXPERIENCE_ID} parameter to force your specific experience to appear for testing

See Delivery and Scheduling: Priority for details on conflict resolution.

Why does the Experiences preview page not load?

The preview loads resources through Marfeel’s proxy. If your WAF or paywall blocks the proxy User Agent, or if your CORS policy blocks iframes from playground.mrf.io, the preview will fail. Whitelist the User Agent or add playground.mrf.io to your CORS policy.

Why does my experience appear in preview but not on the live site?

Three common causes: targeting rules exclude your browser session (loyalty segment, device, location), the frequency cap has been reached for your session, or another experience with higher priority wins the same placement. Test in incognito or use the #mrfexp={EXPERIENCE_ID} hash parameter to bypass these restrictions.

How do I force an experience to appear for testing?

Append #mrfexp={EXPERIENCE_ID} to the page URL. This bypasses targeting rules, frequency caps, and priority conflicts, forcing the specific experience to render regardless of delivery settings.