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):

StoryTraffic
Evergreen100%

This is your starting point. All users see the same Story.

One experiment:

StoryTraffic
Evergreen70%
Experiment A30%

70% of users see your proven content. 30% see the new variant you're testing.

Two experiments:

StoryTraffic
Evergreen50%
Experiment A30%
Experiment B20%

Test multiple ideas simultaneously. Evergreen still serves the majority.

Evergreen as a variant:

StoryTraffic
Evergreen (as control)60%
Experiment A40%

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:

  1. Open Publish Settings for your app
  2. Adjust the sliders for each Story
  3. 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:

  1. Snoopr assigns them to a variant based on their device ID
  2. This assignment is sticky - they always see the same variant
  3. 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