Configuração do servidor para compatibilidade com Safari

Para melhorar a coleta de dados e o direcionamento de anúncios no navegador Safari, configure a atualização do cookie _ym_uid no servidor. Esse tipo de cookie ajuda a identificar usuários no seu site.

Lógica da atualização de cookies

Se um cabeçalho de solicitação Cookie contiver _ym_uid, o servidor precisa enviar Set-Cookie com o mesmo valor (_ym_uid) e definir sua expiração para 1 ano.

O mesmo vale para _ym_d, que contém o horário de criação da _ym_uid.

Instruções para o servidor nginx

Primeiramente, edite o arquivo de configuração do nginx.

Observação

O caminho para os arquivos de configuração pode variar, dependendo das configurações do seu servidor.

sudo nano /etc/nginx/sites-enabled/default

Método simples

Atenção

Lembre-se de que não é possível usar esse método caso você use a diretiva add_header para definir outros cabeçalhos ou a diretiva if para roteamento condicional. Para evitar comportamento indesejado em tais cenários, use o método avançado.

Adicione o seguinte código a cada bloco de location (em qualquer lugar dentro do bloco):

Observação

Se o seu serviço não utilizar protocolo HTTPS, remova o parâmetro Secure; do cabeçalho.

Se o seu serviço utilizar subdomínios, use o domínio raiz em vez da variável $host (por exemplo, exemplo.com.br para o site vendas.exemplo.com.br).

# Update Yandex Metrica cookies

if ($cookie__ym_uid) {
    set $ym_postfix "Max-Age=31536000;Secure;Path=/;Domain=.$host";

    add_header Set-Cookie "_ym_uid=$cookie__ym_uid;$ym_postfix";
    add_header Set-Cookie "_ym_d=$cookie__ym_d;$ym_postfix";
    add_header Set-Cookie "_ym_ucs=nginx;$ym_postfix";
}

Método avançado

Observação

Seu servidor talvez use um nome de pacote diferente e seu método de instalação.

  1. Instale o módulo lua para nginx.

    sudo apt install libnginx-mod-http-lua
    
  2. Adicione o seguinte código a cada bloco server (em qualquer lugar dentro do bloco):

    Observação

    Se o seu serviço não utilizar protocolo HTTPS, remova o parâmetro Secure; do cabeçalho.

    Se o seu serviço utilizar subdomínios, use o domínio raiz entre aspas em vez da variável ngx.var.host (por exemplo, exemplo.com.br para o site vendas.exemplo.com.br).

    # Atualização de cookies do Yandex Metrica
    
    header_filter_by_lua_block {
        if ngx.var.cookie__ym_uid and ngx.var.host then
            local ym_postfix = "Max-Age=31536000; Secure; Path=/; Domain=." .. ngx.var.host
    
            ngx.header["Set-Cookie"] = {
                "_ym_uid=" .. ngx.var.cookie__ym_uid .. "; " .. ym_postfix,
                "_ym_d=" .. (ngx.var.cookie__ym_d or "") .. "; " .. ym_postfix,
                "_ym_ucs=nginx; " .. ym_postfix
            }
        end
    }
    

Passos finais

Teste a nova configuração:

sudo nginx -t

Uma vez que o teste tenha êxito, aplique a configuração do nginx:

sudo service nginx reload

Para verificar se o servidor está configurado corretamente:

  1. Abra seu site no navegador Safari.
  2. No menu, selecione Safari → Configurações.
  3. Na aba Avançado, marque a caixa Mostrar funcionalidades para desenvolvedores web.
  4. Use o atalho Cmd+Opt+I para alternar para o modo desenvolvedor e atualize a página.
  5. No modo desenvolvedor, selecione Rede no menu.
  6. Encontre a primeira solicitação e verifique se o cabeçalho está presente no campo Resposta.

Fale conosco

Escrever um e-mail

Observe, por gentileza, que nossa equipe de suporte jamais iniciará uma chamada com você. Se alguém ligar para você e se apresentar como a equipe de suporte do Yandex Metrica, não siga as instruções dessa pessoa.