> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getjurni.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshoot Experiment Traffic Assignment

> Diagnose experiment traffic differences by checking the Smart Link, Routing Rules, sticky assignment, configured weights, destination availability, and experiment parameters.

If an experiment is not receiving the traffic distribution you expect, first determine whether the difference is caused by **routing logic**, **sticky assignment**, or the campaign not entering through the experiment Smart Link at all.

## 1. Confirm traffic is entering through the experiment Smart Link

An experiment only assigns a variant when the request enters through the Smart Link connected to that experiment. Sending traffic directly to one of the destination pages bypasses experiment assignment.

<Steps>
  <Step title="Copy the experiment Smart Link">
    Open the experiment in Jurni and copy its Smart Link.
  </Step>

  <Step title="Check the campaign destination">
    Verify that your ad, email, or other traffic source uses that Smart Link rather than one of the underlying page URLs.
  </Step>

  <Step title="Follow the redirect">
    Open the Smart Link and confirm it redirects to one of the configured variants.
  </Step>
</Steps>

## 2. Check Routing Rules before judging the weighted split

Routing Rules take priority over normal weighted assignment. If a visitor matches a query-parameter rule, Jurni sends that visitor to the variant defined by the rule even if the experiment is configured 50/50 overall.

For example, a rule such as `utm_term=persona1 → Variant A` can intentionally make the observed totals look very different from the fallback weights.

Review the experiment's Routing Rules and test the Smart Link both **with** and **without** the matching parameters.

## 3. Remember that variant assignment is sticky

After a visitor is assigned to a variant, Jurni stores the assignment in an experiment-specific cookie for up to 30 days. Returning through the same experiment normally keeps that visitor on the same variant.

This means repeatedly refreshing one browser is not a useful way to test whether a 50/50 split is working.

<Tip>
  When manually validating assignment, use a clean browser profile or clear the experiment assignment cookie between tests. Do not use repeated refreshes as a traffic-distribution test.
</Tip>

## 4. Weighted assignment is probabilistic

For visitors who do not match a Routing Rule and do not already have a valid assignment cookie, Jurni chooses a variant using the experiment weights.

A 50/50 configuration therefore does **not** guarantee exactly 50 visitors on each variant after every 100 visits. Some variance is expected, especially at lower traffic volumes.

Jurni does not use a fixed session-count threshold at which the split suddenly becomes valid. Compare the actual distribution with the configured weights over a meaningful volume of **new assignments**, not page refreshes.

## 5. Confirm every destination is reachable

Each active variant needs a valid redirect destination. Test each destination directly and through the experiment Smart Link.

Check for:

* unpublished or inaccessible Jurni pages
* an external URL that redirects unexpectedly
* authentication or geo restrictions
* a Shopify page that is not published
* a destination that returns an error

An inaccessible destination is a launch problem even if Jurni's assignment itself is working correctly.

## 6. Check the parameters on the final destination

When Jurni sends a visitor to a variant, it preserves incoming campaign parameters except Shopify-internal proxy parameters and appends experiment context:

* `jurni_ab_test_id`
* `jurni_ab_variant_id`

If those parameters are missing after the redirect, follow the full redirect chain and check whether another system is rewriting the URL.

## Why one variant can show more sessions than another

Common reasons include:

* Routing Rules intentionally sending a segment to one variant
* returning visitors keeping an earlier assignment
* low volume and normal random variation
* direct traffic reaching the underlying page outside the experiment
* different date ranges between experiment and page-level analytics

See **Experiment vs Experience Sessions** for the difference between an experiment's assigned traffic and all traffic received by an underlying page.

## Changing traffic weights

Changing the weights affects **future eligible assignments**. It does not rewrite historical sessions or force already-assigned visitors onto a new variant.

<Warning>
  Do not use a fixed session count as proof that a result is statistically reliable. Use only the confidence controls available in your account. A traffic-weight change does not itself establish that a statistical calculation has reset; record the change and review the appropriate reporting period.
</Warning>

## Related guides

* Traffic Assignment
* Routing Rules
* Experiment vs Experience Sessions
* Smart Links
* URL Parameters


## Related topics

- [How Experiment Traffic Is Assigned](/experiments/traffic-assignment.md)
- [Plan a useful experiment](/experiments/strategic-experiments.md)
- [What Are Experiments? A/B Testing in Jurni](/experiments/what-are-experiments.md)
- [Experiment Routing Rules](/experiments/routing-rules.md)
- [Read Experiment Results](/experiments/reading-results.md)
