Limits and defaults
The limits RoutingCat holds you to, and the defaults you start with: what you set, see or plan around. Byte limits are decimal, so a KB is 1,000 bytes. Times are UTC.
Pages
| What | Limit |
|---|---|
| Slots on a page | 20 |
| Live variants on a page, all its slots together | 100 |
| Combinations on a prerendered page | 1,000, with a warning above 100 |
| The routing data of a page | 500,000 bytes |
| The routing data of the site, all pages together | 2,000,000 bytes |
A page’s combinations are its slots’ live variants multiplied: three headlines and four images make 12. Each deploy builds every one as its own page, so that each visitor’s page comes from the cache, except those of a variant your plan holds. A page whose route takes params, such as /blog/[slug], builds them for each of its pages while the page’s copies stay within 1,000, and each page’s defaults alone past them.
npx routingcat plan shows each page against its limits, and the build or push refuses a page over one, with a limit message.
Declarations
| What | Rule |
|---|---|
| A key: of a page, a slot, a variant, or the site | Lowercase letters, digits, - and _, 1 to 40 characters |
| An event name | 1 to 64 characters, none of them a control character, + or / |
| Events in one objective, where any one counts | At most 32 |
| Objectives and outcomes, all together | A warning above 14 |
| An objective’s window | 24 hours by default; from 1 second to 400 days, and no longer than the visit |
Site settings
Set with npx routingcat set <setting>=<value>, with no address.
| Setting | Default | Range |
|---|---|---|
control_share: the control |
10% | From 0 to 1, as 0.1 or 10%. Below 5%, a warning; lowered below it only with --confirm |
random_control_share: the random slice |
5% | From 0 to 1, as 0.1 or 10% |
episode_window: the visit |
7 days | From 1 second to 400 days, as 7d, and no shorter than an objective’s window |
routing |
on |
on or off |
Slot settings
Declared in slot(), which writes fixed_share as fixedShare, or set with npx routingcat set <page or slot> <setting>=<value>.
| Setting | Default | Range |
|---|---|---|
fixed_share |
0: no fixed share | From 0 to 1, as 0.1 or 10% |
personalization |
on |
on or off |
floor, cap |
Automatic | From 0 to 1, as 0.1 or 10%, or auto. The floors of a slot’s variants add up to at most 1, and their caps to at least 1 |
Events
The HTTP events API’s limits are on its page: 100 events and 256,000 bytes a request.
Times
| What | How long |
|---|---|
| A preview link stays valid | 1 hour |
| A replaced key keeps working | 24 hours |
npx routingcat doctor --wait waits at most |
5 minutes |
npx routingcat login waits for your approval |
50 seconds |