Split URL testing (redirect tests)
A split URL test sends visitors to a different URL per variation, so you can compare two completely different pages, such as an old and a redesigned landing page, or two product page layouts. Control visitors stay on the original URL; variation visitors are redirected to the variation's URL. You can also run it as a personalization, redirecting a specific audience to its own page.
Available on: all platforms. Plan: URL split campaigns must be included in your plan. Available as: A/B test · Personalization
Test or personalize. You can run a split URL campaign as an A/B test, where visitors are split at random and you measure which version wins, or as a personalization, where each variation is shown to a specific audience, with an optional control group to measure the lift. The setup is the same; Personalizations covers what's different.
How it works
- The visitor opens an original page. The snippet checks whether the URL matches one of the campaign's pages, then checks the target and traffic allocation.
- The page is hidden while the decision is made. On matching pages, the page body stays hidden until the visitor is either redirected or shown the original, so variation visitors don't see the original page first.
- Variation visitors are redirected. The redirect replaces the current history entry, so the Back button doesn't return to the original page and bounce back again. Control visitors see the original page.
- The view is recorded on the destination. A variation view is counted only once the destination page has loaded and the Personizely snippet has run there. The destination must run the same Personizely snippet.
- The visitor stays in their variation. Returning visitors are redirected to the same variation on every later visit to a matching page. See How visitors are assigned.
Set up a split URL test
- Go to Campaigns → New campaign → URL split, and choose Experiment or Personalization.
- Under Pages, choose the original page: a Single page or Multiple pages (rules or RegExp). All pages isn't available for split URL tests.
- For each variation, click Set URL and enter the Redirect URL: an absolute URL (https://shop.com/pages/landing-b) or a path (/pages/landing-b).
- Set the target, goals and traffic split, then start the campaign. Split URL campaigns have no preview: to check a variation, visit its redirect URL directly.
Option | What it does | Values / default |
|---|---|---|
Redirect URL | Where variation visitors are sent from this page | Absolute URL or path; required |
Transfer query parameters | Appends the original URL's query parameters to the redirect URL. Parameters already in the redirect URL keep their value. | On for new variations |
Replace URL | After the destination loads, rewrites the address bar to the original URL's path, keeping the destination's query | On for new variations |
Reload the page for the control group | Advanced settings, experiments only: control visitors get one page reload too, so both groups load twice before they're counted | Off |
Each variation has one redirect URL per page. If a campaign has several pages and a variation has no URL for the current page, that variation's visitors stay on the original page and still count as having seen the variation.
Rewriting URLs with RegExp
When the original page uses Multiple pages → RegExp, the redirect URL can reuse capture groups from the pattern. The part of the original path that the pattern matches is replaced with the redirect URL, with $1, $2 and so on filled in.
Pattern | Redirect URL | Original path | Destination |
|---|---|---|---|
^/products/(.+)$ | /products/$1-v2 | /products/linen-shirt | /products/linen-shirt-v2 |
^/(.*)$ | https://new.shop.com/$1 | /collections/sale | https://new.shop.com/collections/sale |
^/pages/old-landing | /pages/new-landing | /pages/old-landing | /pages/new-landing |
Anchor the pattern with ^ and $ to replace the whole path. Parts of the path outside the match are kept as they are.
Reload the page for the control group
A variation is counted only after its redirect lands, so visitors who leave during the redirect are missing from the variation, while control visitors are counted straight away. This makes the variation look slightly better or worse than it is, depending on who drops out.
Turn on Reload the page for the control group under Advanced settings to remove this bias. Control visitors then get one reload of the same page, so both groups go through the same second page load before they're counted. The trade-off is one extra page load for control visitors. It's available for split URL and template experiments.
Behavior details and limitations
- The destination must run the snippet. If the destination page doesn't load the same Personizely snippet, the variation's views are never recorded and the report shows no traffic for it.
- Destinations on other domains. Redirecting to a subdomain of the same site (shop.example.com → promo.example.com) works. Redirecting to an unrelated domain (shop.example.com → example-landing.com) redirects visitors correctly, but no views are recorded for that variation, because the visitor's assignment can't be passed between unrelated domains. Keep variations on the same domain or a sibling subdomain.
- Assignments are per domain. A visitor's assignment lives in their browser for your domain. If the same visitor later browses the original site on another domain, they're assigned again there.
- Destinations must not match the original page. If a redirect URL also matches the campaign's pages, visitors can be redirected again from the destination. With Multiple pages, make sure the destinations fall outside the rules or pattern.
- Replace URL and analytics. With Replace URL on, the address bar shows the original path after landing, but the destination page has already loaded and sent its own page view to your analytics tools.
- No preview. A split URL campaign is a redirect, so there's nothing to preview. Check each variation by visiting its redirect URL directly, and use a QA target to test the redirect and tracking end to end.
- Redirects and SEO. The redirect happens in the browser. Bots and crawlers don't run the snippet, so they see the original page.
- Flicker. With the snippet loaded asynchronously, the original page can briefly show before the redirect. Synchronous loading avoids this. See Performance and flicker.
- Deploying. When the test ends, you can deploy the winning variation: from then on every visitor who matches the target is redirected to it, and no more data is recorded. You can undeploy it later. Personalizations can't be deployed.
Running it as a personalization
- One target per variation, first match wins. Each variation has its own target, and a visitor gets the first variation in the list whose target they match. Put narrow audiences above broad ones. A visitor who matches no variation sees the original page and isn't redirected.
- Control group. 25% of matched visitors by default stay on the original URL and are counted as control.
- No control reload. Reload the page for the control group is available for experiments only, so in a personalization control visitors are counted straight away while variation visitors are counted after the redirect lands.
- Live or Permanent. With Live, the target is checked again on each matching page, so only visitors who match at that moment are redirected. Use Permanent to keep redirecting a visitor to their first variation.
- No deploy. Personalizations can't be deployed, so the report has no Deploy. A personalization keeps running until you stop it, and you can edit its variations and targets as needed. To stop measuring and show it to every matching visitor, set the control group to 0%.
- Example audience: send paid-social traffic (for example utm_source=facebook, using the UTM parameters filter) to a dedicated landing page.
Examples
- Landing page redesign: original /pages/spring (Single page), variation /pages/spring-v2, with Transfer query parameters on so UTM tags reach the new page.
- Product page template test across the catalog: original ^/products/(.+)$ (RegExp), variation /products/$1?view=alt. On Shopify, a template test does this natively.
- Market-specific landing page: a personalization that redirects visitors from one country to a localized landing page, with a 25% control group.
Troubleshooting
- The variation shows no views → the destination doesn't run the Personizely snippet, or it's on an unrelated domain.
- Visitors are redirected again from the destination → the destination URL matches the campaign's page rules. Narrow the rules or add an Exclude rule for the destination.
- The split looks uneven → visitors are leaving during the redirect. Turn on Reload the page for the control group.
- UTM parameters are lost → turn on Transfer query parameters.