Traffic Allocation
Control what percentage of users see each Story variant.
Overview
Traffic allocation determines how users are distributed across your evergreen Story and experiments. Getting this right ensures you collect meaningful data while minimizing risk.
How Traffic Works
The 100% Rule
When a live evergreen Story exists, traffic always totals 100%. This traffic is divided between:
- Evergreen Story: The default experience
- Experiments: Alternative variants being tested
No Evergreen = No Traffic
If no evergreen Story is live, traffic is 0%. Users see nothing. Always keep an evergreen Story live when you want to show content.
Allocation Examples
No experiments (baseline):
| Story | Traffic |
|---|---|
| Evergreen | 100% |
This is your starting point. All users see the same Story.
One experiment:
| Story | Traffic |
|---|---|
| Evergreen | 70% |
| Experiment A | 30% |
70% of users see your proven content. 30% see the new variant you're testing.
Two experiments:
| Story | Traffic |
|---|---|
| Evergreen | 50% |
| Experiment A | 30% |
| Experiment B | 20% |
Test multiple ideas simultaneously. Evergreen still serves the majority.
Evergreen as a variant:
| Story | Traffic |
|---|---|
| Evergreen (as control) | 60% |
| Experiment A | 40% |
Your evergreen Story can also be part of an experiment as the control group.
Allocation Rules
Minimum Traffic Per Experiment
Each experiment requires at least 5% of traffic. This ensures you collect enough data for meaningful results.
Maximum Concurrent Experiments
Run as many experiments as your traffic supports. With 50% evergreen:
- 5 experiments at 10% each
- 2 experiments at 25% each
- 9 experiments at 5% each (minimum)
In practice, 2-3 concurrent experiments work best for most apps.
Adjusting Traffic
You can change allocation percentages for running experiments:
- Open Publish Settings for your app
- Adjust the sliders for each Story
- Changes take effect immediately
Note: Changing traffic mid-experiment affects statistical validity. If possible, set your allocation once and let it run.
User Assignment
When a user requests a Story:
- Snoopr assigns them to a variant based on their device ID
- This assignment is sticky - they always see the same variant
- If they're identified (via
identify()), assignment can use user ID for cross-device consistency
Sticky assignment ensures users don't see different Stories on each visit, which would skew results and create confusing experiences.
When to Adjust Allocation
Increase experiment traffic when:
- Early results look promising
- You need faster statistical significance
- You're confident in the variant quality
Decrease experiment traffic when:
- A variant is underperforming significantly
- Error rates are higher for one variant
- You want to limit exposure before concluding
Keep allocation stable when:
- Experiment is running normally
- You're close to reaching significance
- Results are within expected variance
Related
- Creating Experiments - Set up your first A/B test
- Publishing & Going Live - Story status management