Geo is looked up at the edge (GET /g) once per session, cached, and
served from Cloudflare’s country/region/city data. Bounded wait of
250 ms, if the lookup times out, the visitor is treated as
“unknown country” and geo-dependent rules do not match. See
Geo for the failure-mode details.
Cookie value, read a cookie by name, match on its value.
JavaScript condition, a boolean expression you write. Evaluated
on the page each time the audience is checked.
JavaScript conditions run in the same context as your other page
scripts, and are evaluated with new Function, so they need
unsafe-eval in your CSP if you have one. So does variation
JavaScript, so avoiding these conditions does not on its own keep
unsafe-eval out of your policy. See
Content Security Policy.
Prefer a cookie or a data attribute where you can anyway, they are
easier to reason about.
If your instinct is “match on URL”, that is a Location rule, not an
Audience rule. See URL rules.If your instinct is “match on the visitor”, it is Audience. Everything
else on this page.
You can define an Audience inline on an experiment, or save one under
Site → Audiences to reuse. See
Saved lists for when to reach for a saved
Audience.
An Audience that never matches, because a rule references a cookie
that does not exist, or a JavaScript condition that always throws.
silently excludes every visitor. The experiment then looks like it
“is not running”. If yours seems to have zero exposures after a
sensible amount of time, walk the audience rules one by one against a
preview link. When an experiment does not match
the page you are on, the preview badge says so directly. Nothing today
breaks an audience down rule by rule, so narrow it by disabling rules
until the experiment starts matching.