hash_in_range() is globally available for HTTP products on all plans. It hashes fields into an integer within a specified range. Use this result to select a portion of requests.
Use cf.random_seed to select approximately 10% of requests at random:
hash_in_range(0, 100, cf.random_seed) < 10
With Cloudflare for SaaS, use custom metadata to control rollout progression. Define rollout_pct as a custom key for each hostname. Set its value to an integer from 0 to 100. The expression selects approximately that percentage of requests:
hash_in_range(0, 100, cf.random_seed) < coalesce(lookup_json_integer(cf.hostname.metadata, "rollout_pct"), 0)
If rollout_pct is missing, coalesce() supplies 0. The rule then matches no requests.
For details, refer to the hash_in_range() function reference.
Source: Cloudflare


