Roteamento por visitante e teste A/B
Mande cada visitante para um destino conforme país, estado, cidade, sistema, dispositivo ou idioma, e divida o tráfego entre variantes A/B.
Regras (`rules`)
Até 20 regras por link. A primeira que casar decide o destino; sem nenhuma, vale url. Condições na mesma regra são combinadas com E; valores numa lista, com OU.
{
"url": "https://minhaloja.com.br",
"rules": [
{
"label": "iPhone",
"conditions": {
"os": [
"ios"
],
"device_type": [
"mobile"
]
},
"url": "https://apps.apple.com/br/app/id123"
},
{
"label": "Android",
"conditions": {
"os": [
"android"
]
},
"url": "https://play.google.com/store/apps/details?id=br.loja"
},
{
"label": "Portugal",
"conditions": {
"country": [
"PT"
]
},
"url": "https://loja.pt/"
}
]
}| Condição | Valores |
|---|---|
country | ISO-3166 alfa-2: BR, PT… |
region | Estado em ISO 3166-2: BR-SP, BR-MG… |
city | Nome da cidade (São Paulo), sem diferenciar acento nem maiúsculas; combine com region |
os | ios, android, windows, macos, linux, other |
device_type | mobile, tablet, desktop |
language | Do navegador: pt, pt-br, es… |
Para abrir um app, use links universais (iOS), App Links (Android) ou a página da loja. Esquemas próprios como meuapp:// não são aceitos como destino.
Teste A/B (`variants`)
De 2 a 10 variantes com peso de 1 a 100. O mesmo visitante cai sempre na mesma variante. As regras são avaliadas antes; as variantes valem para quem não casou com nenhuma regra.
{
"variants": [
{
"label": "A",
"url": "https://loja.com.br/oferta-a",
"weight": 50
},
{
"label": "B",
"url": "https://loja.com.br/oferta-b",
"weight": 50
}
]
}No PATCH, mandar rules ou variants substitui a lista inteira daquele tipo ([] remove); omitir mantém. Compare as variantes com GET /links/{id}/stats/breakdown?dimension=rule ou, em vendas, GET /links/{id}/conversions/stats?dimension=rule.