← All use cases
scan.count_total
The first hundred, the normal page after that
Launch, drop, opening. The first 100 scans see the voucher, every one after that the normal page. That is a threshold in the list, not an A/B test: order is the only semantics, and the mandatory rule catches everything after it.
- Where it hangs
- Shop window, roll-up, the first page of a campaign.
- Why the paper stays
- “Only the first 100” on paper becomes a lie the moment number 101 arrives.
Live resolution
scan.count_total = 42geo.country = CHdevice.type = mobilelang.primary = de
- 1Under 100
- 2From 100
- alwaysOtherwise
https://hof.app/drop

The ruleset
Valid, storable, mandatory rule last.
Not a description of what the engine could do — this is the text a code carries. The first matching rule wins, and the last one always matches.
ruleset · version 1
{
"rules": [
{
"when": { "scan.count_total": { "lt": 100 } },
"then": { "type": "redirect", "url": "https://hof.app/drop" }
},
{
"when": { "scan.count_total": { "gt": 99 } },
"then": { "type": "redirect", "url": "https://hof.app/shop" }
},
{
"when": "always",
"then": { "type": "redirect", "url": "https://hof.app/shop" }
}
]
}