Valide convenções de nomes de campanhas UTM
Confira um nome como summer-sale-q3 contra a convenção de nomes escolhida pela sua equipe e veja quais regras passam e quais falham, para que uma maiúscula ou um espaço não dividam seus relatórios. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Nome da campanha
- summer-sale-q3
- Padrão
- lowercase-hyphenated-by-quarter
- Esperado
- lowercase hyphenated text ending in q1, q2, q3, or q4
Um nome de campanha UTM consistente mantém os relatórios de análise pesquisáveis, comparáveis e fáceis de administrar. Este validador confere um nome conforme a convenção escolhida por você e explica quais regras passaram ou falharam. Selecione um padrão compatível para minúsculas com hífens, sufixos trimestrais, sublinhados, maiúsculas ou identificadores alfanuméricos compactos. O resultado é determinístico: o mesmo nome e padrão sempre produzem a mesma resposta. Use antes de publicar um link, em uma revisão ou como controle de um fluxo automatizado.
Escolha uma convenção adequada aos seus relatórios
Uma convenção só é útil quando todos conseguem aplicá-la sem adivinhar. Selecione o padrão compatível com a regra documentada pela sua equipe. lowercase-hyphenated aceita nomes como spring-launch e partner-webinar-2026, mas rejeita espaços, sublinhados, maiúsculas, separadores duplos e pontuação. Use lowercase-hyphenated-by-quarter quando todo nome precisar terminar em q1, q2, q3 ou q4, como summer-sale-q3.
A opção em maiúsculas atende taxonomias como EMEA-PRODUCT-Q4, enquanto alphanumeric não permite separadores. Informar o padrão é obrigatório porque um nome isolado não pode ser avaliado: summer-sale e SUMMER-SALE podem estar certos sob regras diferentes. Inclua o padrão escolhido no briefing, gerador ou formulário para que as pessoas avaliem o mesmo padrão escrito.
Isso também impede que uma configuração silenciosa aprove nomes segundo uma convenção que a equipe nunca quis usar.
Leia o resultado e corrija as falhas
A resposta inclui o nome enviado, o padrão normalizado, um indicador geral de validade, uma lista de verificações, as violações e uma breve descrição do formato esperado. Um resultado válido significa que o nome completo cumpre todos os requisitos. Um resultado falso é mais informativo que uma rejeição genérica.
Por exemplo, Summer-Sale-Q3 comparado a lowercase-hyphenated-by-quarter falha na regra de minúsculas e no sufixo trimestral, pois a convenção exige q minúsculo. Um nome com espaços falha no separador, e um nome terminado em q5 fica fora do intervalo permitido. Use violations em mensagens curtas ou decisões automáticas e checks para mostrar regras aprovadas e reprovadas.
O validador remove espaços externos, mas não reescreve o nome nem sugere substituições. Isso protege identificadores analíticos contra mudanças sem revisão. Corrija o valor original, valide novamente e publique somente quando valid for true.
Se o padrão faltar, estiver vazio ou não for aceito, a solicitação retorna um erro de entrada em vez de presumir uma convenção.
Valide antes que os links comecem a circular
O melhor momento para validar um nome UTM é imediatamente antes de gerar ou aprovar a URL de rastreamento. Em um formulário, execute a verificação ao sair do campo e mostre as regras com falha ao lado dele. Em um pipeline de publicação, trate valid false como falha de revisão antes de copiar URLs para anúncios, newsletters, redes sociais, códigos QR ou materiais de parceiros.
Armazene o padrão com as normas internas para reproduzir a decisão. O serviço realiza verificações locais limitadas, sem rede, aleatoriedade ou regras temporais, oferecendo resultados estáveis. A ferramenta valida somente o componente da campanha: não cria URLs, testa destinos nem julga a estratégia da taxonomia.
Casos de uso
Revise um lançamento trimestral
Exija um sufixo q1 a q4 em minúsculas para agrupar relatórios pelo trimestre planejado.
Confira um fluxo automatizado
Valide identificadores gerados antes de distribuir URLs em anúncios, e-mails, redes ou parceiros.
Perguntas frequentes
Quais padrões são aceitos?
São aceitos lowercase-hyphenated-by-quarter, lowercase-hyphenated, lowercase-underscore-separated, uppercase-hyphenated e alphanumeric.
O validador corrige um nome inválido?
Não. Ele informa as regras violadas sem alterar silenciosamente um identificador que pode exigir aprovação.
Os sufixos trimestrais diferenciam maiúsculas?
Sim. A convenção trimestral exige q minúsculo no final, seguido por 1, 2, 3 ou 4.
Por que preciso escolher uma convenção antes de validar?
Porque um nome não pode ser julgado sozinho: summer-sale e SUMMER-SALE podem estar certos sob regras diferentes. Exigir a convenção evita que uma regra padrão silenciosa aprove um nome com uma norma que sua equipe nunca quis usar.
Por que validar o nome antes de compartilhar o link?
Porque mudar o nome da campanha depois de distribuir os links divide as medições em valores separados. Até uma diferença inofensiva de maiúsculas cria outra linha nos relatórios, então o melhor momento é logo antes de montar o link de rastreamento.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/seo/utm-campaign-name-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"campaign_name":"summer-sale-q3","pattern":"lowercase-hyphenated-by-quarter"}'const res = await fetch("https://api.kit.forhosting.com/seo/utm-campaign-name-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"campaign_name": "summer-sale-q3",
"pattern": "lowercase-hyphenated-by-quarter"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/utm-campaign-name-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"campaign_name": "summer-sale-q3",
"pattern": "lowercase-hyphenated-by-quarter"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/utm-campaign-name-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"campaign_name":"summer-sale-q3","pattern":"lowercase-hyphenated-by-quarter"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"campaign_name":"summer-sale-q3","pattern":"lowercase-hyphenated-by-quarter"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/utm-campaign-name-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"campaign_name": "summer-sale-q3",
"pattern": "lowercase-hyphenated-by-quarter"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.utm_campaign_name_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Escolha uma convenção adequada aos seus relatórios
Para identificadores no estilo snake, lowercase-underscore-separated aceita lifecycle_email_q2.
Valide antes que os links comecem a circular
Em uma planilha ou processo em massa, chame a API para cada nome e devolva as linhas inválidas aos responsáveis. A validação antecipada é importante porque alterar utm_campaign depois da distribuição fragmenta as métricas; até uma diferença de capitalização pode criar outra linha. O navegador atende conferências manuais e cada solicitação de API custa US$ 0,002.
Casos de integração
Proteja um formulário de campanha
Rejeite valores utm_campaign inconsistentes antes que um link seja publicado ou exportado.
Perguntas técnicas
O que acontece se o padrão for omitido?
A solicitação retorna invalid_input porque a validação exige uma convenção explícita.
Quanto custa uma validação pela API?
Cada solicitação de API custa US$ 0,002. Você também pode fazer uma verificação manual no navegador.