Skip to content

Preview and QA a variation

Use a preview link to see a variation on your real site before you set its campaign live, or to check it again after an edit. Preview views are not counted, so QA does not change your results.

A preview link is any page URL on your site that carries the Grona script, with the gronaPreview parameter set to a variation id:

https://shop.example.com/?gronaPreview=671a3c90e4b0a1f2c3d40012

When the runtime sees gronaPreview, it fetches that variation from api.grona.ai and applies its changes to the page, highlighted so you can spot them. In preview mode the runtime:

  • ignores the campaign’s URL rules, schedule, UTM rules, audience rules and consent setting, so the variation shows even while the campaign is paused or set to start later;
  • records nothing: no page view, no clicks and no conversions;
  • works for draft variations as well as live ones.

The dashboard builds preview links for you. Campaigns created through the Public API also return a previewUrl for each variation; see Create campaigns from your platform.

  1. Copy the variation’s preview link from the dashboard, or take the variation id from the Public API and add ?gronaPreview=<variation id> to the page URL yourself. If the URL already has a query string, add &gronaPreview=<variation id> instead.

  2. Open the link in a normal browser window. Keep ad and content blockers off for this check, because they can stop the script from loading.

  3. Compare the page with the variation you built. Highlighted elements are the ones the variation changes.

  4. Check the page at the screen sizes your visitors use. Device rules do not apply in preview, so the variation shows on every screen size.

The gronaPreview parameter must stay in the address. If you click a link to another page, or your single-page app changes route, the preview stops and you see the original page. Open the preview link again for each page you want to check.

Grona has no parameter that forces a visitor into a variation on a live campaign, and no debug mode for production pages. Preview links are the supported way to check a variation. To see what the runtime did on a real page view, use the browser tools described in Debug in the browser.

Because preview skips targeting, it does not tell you whether a given visitor would match the campaign. Check URL and audience rules separately, as in the checklist below.

Run through this list before you set a campaign live.

  • Every changed element looks right on desktop, tablet and phone widths, and in the browsers your visitors use.
  • Each page the campaign covers shows the variation when previewed. For campaigns on several pages, preview at least one page per template.
  • Dynamic content still works. Open menus, carousels, forms and the basket on the previewed page, and confirm the changes have not broken them.
  • URL rules match the pages you expect. Read them against the real addresses, including query parameters, http against https, and letter case in the path. See Target pages with URL rules.
  • Audience rules match the visitors you expect. See Target audiences.
  • Priority is right. If another campaign with a higher priority covers the same page, it wins and this campaign does not run there.
  • Goals fire. Preview records nothing, so test goals on a normal page load without gronaPreview. Trigger each conversion on a test order or form and check that the request to api.grona.ai goes out in the network panel. A test conversion made this way is recorded like any other. See Track conversions and custom events.
  • No Content Security Policy errors appear in the console. See Content Security Policy.

Grona does not filter internal traffic by IP address. Visits your team makes to a live campaign are counted like any other visitor’s.

  • Use preview links for QA. They record nothing, so checking a variation as often as you need costs nothing in your results.
  • Bots are excluded automatically. Crawlers and automated testing tools that Grona recognises by their user agent, such as Lighthouse, HeadlessChrome, GTmetrix and Pingdom, never run campaigns and are not counted.