Atribuir instalações do iOS com a SKAdNetwork

O Google Exchange é compatível com indicadores que o SDK do Google Mobile Ads usa para iniciar a atribuição da SKAdNetwork com a API SKAdNetwork da Apple. É possível fazer a integração com os indicadores da SKAdNetwork para que os anunciantes meçam os resultados das campanhas de anúncios de instalação de apps para dispositivos iOS, sem esquecer da privacidade do usuário.

A lista a seguir mostra como o comportamento de atribuição de instalação do app muda dependendo da versão da SKAdNetwork:

  • 2.0-2.1: a atribuição para a instalação de um app anunciado é determinada pela página do produto da App Store renderizada pelo StoreKit quando o usuário clica no anúncio, levando à instalação do app.
  • 2.2+: suporte adicional para anúncios de visualização completa, em que a atribuição para a instalação de um app anunciado é feita quando o usuário instala o app depois de visualizar seu anúncio.

Para saber mais sobre as diferenças nas versões da SKAdNetwork, consulte as notas da versão da SKAdNetwork.

Configurar IDs da SKAdNetwork na interface

Para receber solicitações de lance com IDs da SKAdNetwork, especifique seus IDs da SKAdNetwork na interface do Authorized Buyers ou do Open Bidding. Por exemplo, um ID da SKAdNetwork pode ter um valor como a1b2c3d4e5.skadnetwork.

Para especificar seu ID da SKAdNetwork na interface do Authorized Buyers ou do Open Bidding, faça o seguinte:

  1. No menu de navegação Configurações do bidder, clique em Configurações do RTB. A página Configuração de RTB é exibida.
  2. Acesse a caixa IDs SKAdNetwork para iOS permitidos para ver e configurar os IDs SKAdNetwork.

A imagem a seguir mostra um exemplo de ID SKAdNetwork na caixa IDs SKAdNetwork para iOS permitidos:

Configuração de IDs SKAdNetwork para iOS permitidos nas configurações de RTB

Configurar criativos para atribuição

O SDK do Google Mobile Ads inicia a atribuição da SKAdNetwork somente se o URL de clique direcionar à App Store da Apple. Ao enviar criativos para revisão usando a API de lances em tempo real, eles precisam usar um URL de clique que seja um link direto para o app anunciado na App Store ou que use redirecionamentos HTTP em que o destino final seja o app anunciado na App Store. O SDK do Google Mobile Ads inicia a atribuição se o destino final do URL de clique do criativo começar com um dos seguintes prefixos:

  • https://apps.apple.com
  • https://itunes.apple.com
  • itms-apps://
  • itms://

Se o destino final do URL de clique do seu criativo não corresponder a esses prefixos ou se o URL de clique usar outros métodos de redirecionamento do lado do cliente que não levam à App Store, o SDK do Google Mobile Ads talvez não inicie a atribuição da SKAdNetwork. A lista a seguir mostra exemplos de onde esse processo pode ser aplicado:

  • Uma página HTML que exige uma ação do usuário para redirecionar à app store.
  • Uma página HTML que tem um script de redirecionamento automatizado baseado em JavaScript para a app store.
  • Tags de atualização de metadados.

Iniciar a atribuição por tipo de criativo

A ação de clique para iniciar a atribuição da SKAdNetwork pode ser configurada para os diferentes tipos de criativo da seguinte forma:

HTML
Ele pode ser configurado como o URL de destino nas tags âncora ao redor do elemento clicável ou como o URL de destino das operações window.location de eventos de clique baseados em JavaScript.
MRAID
A ação de clique precisa chamar Mraid.open() para iniciar a atribuição da SKAdNetwork.
Vídeo VAST
O URL da app store precisa ser definido no elemento ClickThrough no XML do VAST.
Nativo
O URL da app store precisa ser definido no campo BidResponse.seatbid.bid.{adm/adm_native}.link.url.

Identificar indicadores de BidRequest

Encontre informações sobre os IDs da SKAdNetwork registrados que são compatíveis com o app do publisher usando o campo BidRequest.imp.ext.skadn. Se o campo skadn for especificado, você poderá usar os atributos para criar uma resposta para um anúncio de instalação de app ou de reengajamento que associe uma instalação ou conversão a um dos IDs da SKAdNetwork incluídos. O campo skadn é um objeto SKAdNetworkRequest com os seguintes atributos:

Nome do atributo Descrição
sourceapp Um ID de string do app do editor na App Store da Apple. Para identificar o app do editor, use este atributo.
skadnetids Uma lista de strings que representam os IDs SKAdNetwork compatíveis com o app do publisher. Você pode consultar isso ao criar a resposta para selecionar um ID da SKAdNetwork compatível com o publisher e especificar no campo BidResponse.seatbid.bid.ext.skadn.network.
versions Uma lista de strings que representam as versões da SKAdNetwork compatíveis com o editor. A versão da SKAdNetwork que você especificar na resposta com o campo BidResponse.seatbid.bid.ext.skadn.version precisa ser uma das versões especificadas por esse campo.
fidelities Uma lista de valores de tipo enumerado SKAdNetworkFidelityType que representam os tipos de fidelidade aceitos pelo editor. Veja a seguir uma descrição desses valores de tipo enumerado para endpoints de lances configurados para usar o OpenRTB nos formatos Protobuf e JSON:
  • VIEW_THROUGH_ADS (Protobuf) / 0 (JSON): quando você vence o leilão e veicula um anúncio, a atribuição da impressão pode ser recebida em 24 horas, quando o anúncio é visualizado por pelo menos três segundos. Geralmente, é necessário exibir um SKOverlay se ele for compatível com o anunciante para receber essa forma de atribuição.
  • STOREKIT_RENDERED_ADS (Protobuf) / 1 (JSON): quando você vence o leilão e veicula um anúncio, a atribuição de uma instalação ou conversão de app é iniciada pela página do produto da App Store renderizada pelo StoreKit quando o usuário clica no anúncio.
skoverlay Um booleano quando representado no formato Protobuf do OpenRTB ou um número inteiro quando representado no formato JSON do OpenRTB. Use esse booleano para determinar se SKOverlay é compatível. O Google só aceita SKOverlay para criativos de vídeo e snippet de HTML colocados em inventário premiado ou intersticial.

O exemplo a seguir mostra uma solicitação de lance para inventário de dispositivos móveis em que o app do editor é compatível com seus IDs da SKAdNetwork:

{
  "id": "9NaI48SmPW7Zf3MAHR43DY",
  "imp": [
    {
      "id": "1",
      // OMITTED...
      "ext": {
        // OMITTED...
        "skadn": {
          "sourceapp": "com.google.testapp",
          "skadnetids": [
            "cF58w81X"
          ],
          "versions": [
            "2.0",
            "2.1",
            "4.0"
          ],
          "fidelities": [
            1,
            0
          ]
        }
        // OMITTED...
      }
    }
  ],
  "app": {
    "name": "Test App",
    "ver": "5.6.0",
    "bundle": "com.google.testapp",
    "publisher": {
      "id": "pub-6156239328255091",
      "ext": {
        "country": "JP"
      }
    },
    "content": {
      "url": "https://www.google.com",
      "livestream": 0,
      "language": "ja"
    },
    "storeurl": "https://www.google.com"
  }
  // OMITTED...
}

Preencher campos de BidResponse

É possível incluir informações de atribuição na resposta à solicitação de lance para que o anunciante receba uma notificação de postback quando um usuário interagir com o anúncio dele. Para saber mais sobre as notificações de postback, consulte Receber atribuições de anúncios e postbacks.

É preciso transmitir informações de atribuição consistentes com o que foi incluído na solicitação de lance. As informações de atribuição são especificadas no campo BidResponse.seatbid.bid.ext.skadn, que é um objeto SKAdNetworkResponse com os seguintes atributos:

Nome do atributo Descrição
version Uma string que representa uma versão da SKAdNetwork compatível com o anunciante. É preciso especificar uma das versões da SKAdNetwork compatíveis com o publisher, que é especificada em BidRequest.imp.ext.skadn.versions.
network Uma string de ID da SKAdNetwork para o anunciante. É preciso especificar um dos IDs da SKAdNetwork incluídos em BidRequest.imp.ext.skadn.skadnetids.
campaign Um ID de string numérica de dois dígitos que representa a campanha publicitária do anunciante. Especifique esse atributo em vez de sourceidentifier se a resposta à solicitação de lance incluir informações de atribuição usando as versões 3.0 ou anteriores da SKAdNetwork.
sourceidentifier Um ID de string numérica de quatro dígitos que representa a campanha publicitária do anunciante. Especifique esse atributo em vez de campaign se a resposta à solicitação de lance incluir informações de atribuição usando as versões 4.0 ou mais recentes da SKAdNetwork.
itunesitem Um ID de string do app do anunciante na App Store da Apple. Ele precisa ser consistente com o valor especificado em BidResponse.seatbid.bid.bundle.
productpageid Um ID de string opcional que representa uma página do produto personalizada para dispositivos com o iOS 15 ou versões mais recentes. Para saber mais sobre páginas de produtos personalizadas, consulte Páginas de produtos personalizadas na App Store. Se não for especificada, a página padrão do produto será exibida.
fidelities Uma lista de objetos Fidelity que identifica quais tipos de fidelidade se aplicam ao anúncio veiculado e fornece assinaturas criptográficas usadas para identificar a campanha do anunciante quando ele recebe uma notificação de postback. Especifique o atributo fidelity somente com valores incluídos em BidRequest.imp.ext.skadn.fidelities.
sourceapp Uma string que representa o app do editor na App Store da Apple. É necessário especificar isso com o ID encontrado em BidRequest.imp.ext.skadn.sourceapp.
skoverlay Um objeto SKOverlay que representa como o app anunciado é apresentado em um SKOverlay. Só é possível especificar esse atributo quando BidRequest.imp.ext.skadn.skoverlay está definido como true para endpoints de lances que usam o formato Protobuf do OpenRTB ou 1 ao usar o formato JSON do OpenRTB.

O exemplo a seguir mostra uma resposta à solicitação de lance, incluindo informações de atribuição de instalação do app:

{
  "id": "9NaI48SmPW7Zf3MAHR43DY",
  "seatbid": [
    {
      "bid": [
        {
          "id": "9NaI48SmPW7Zf3MAHR43DY",
          // OMITTED...
          "ext": {
            // OMITTED...
            "skadn": {
              "version": "4.0",
              "network": "cF58w81X",
              "itunesitem": "788729094",
              "sourceapp": "1422994973",
              "fidelities": [
                {
                  "fidelity": 0,
                  "nonce": "017e597c-3c7d-4a44-afeb-41cd9a17066f",
                  "timestamp": "1757235407882",
                  "signature": "11iF1L96q2cw8tu790p301c10530ogr7h250k1P9pLxqcJ2qe37klG8xB3M592YbpafQ9861493838C521XA6AEF4A40DK8X"
                },
                {
                  "fidelity": 1,
                  "nonce": "017e597c-3c7d-4a44-afeb-41cd9a17066f",
                  "timestamp": "1757235407882",
                  "signature": "f67L3C138Y6XB7940141011Pd58AZbdBk9Xo1Mlf1973706DsB5808ILLKumU2ic9fr72b9bSs3CD25CCZo8DJB65JB0615L"
                }
              ],
              "sourceidentifier": "5507"
            },
            "app_promotion_type": 1
            // OMITTED...
          }
        }
      ]
      // OMITTED...
    }
  ]
  // OMITTED...
}

A lista a seguir mostra o comportamento esperado da SKAdNetwork correspondente à resposta à solicitação de lance:

  • Quando o app anunciado é instalado em até 24 horas após o anúncio ser visualizado por pelo menos três segundos, a notificação de postback de atribuição de visualização completa da SKAdNetwork é enviada ao anunciante.
  • Quando o anúncio é clicado, uma sobreposição inline da loja do app anunciado é mostrada, e a notificação de postback de atribuição de clique da SKAdNetwork é enviada ao anunciante se o usuário instalar e abrir o app anunciado.

Aumentar a atribuição com o SKOverlay

Para aumentar a atribuição de anúncios renderizados pelo StoreKit, mostre um SKOverlay quando ele for compatível. Com o SKOverlay, o app do editor pode mostrar uma sobreposição que permite aos usuários fazer o download do app anunciado sem sair do app do editor. Para saber mais sobre o SKOverlay, consulte SKOverlay.

Quando todas as condições a seguir são atendidas, você recebe a atribuição pela instalação do app anunciado:

  • O SKOverlay é exibido por três segundos ou mais.
  • O app anunciado é instalado em até 30 dias após a exibição do SKOverlay.
  • Seu SKOverlay foi o último exibido antes da instalação do app anunciado.

O Google é compatível com o SKOverlay para snippets HTML e criativos de vídeo VAST inseridos em anúncios intersticiais ou premiados.

Determinar se o SKOverlay é compatível

Ao receber uma solicitação de lance, verifique o valor do campo BidRequest.imp.ext.skadn.skoverlay para saber se o SKOverlay é compatível. O SKOverlay é compatível com casos em que o campo skoverlay está definido como true para endpoints de lances que usam o formato Protobuf do OpenRTB ou 1 para endpoints de lances que usam o formato JSON do OpenRTB.

Posicionar o anúncio com um SKOverlay

Quando o SKOverlay é compatível, você pode especificar o campo BidResponse.seatbid.bid.ext.skadn.skoverlay para indicar que quer mostrar um SKOverlay. O campo skoverlay tem os seguintes atributos:

  • delay: um número inteiro que representa o atraso em segundos entre o momento em que o anúncio é exibido e o momento em que o SKOverlay é exibido. Para criativos de vídeo, o tempo de exibição é o início dos vídeos. Se esse campo não estiver definido, o SKOverlay não será exibido.
  • endcarddelay: um número inteiro que representa o atraso em segundos entre o momento em que o card final de um criativo de vídeo é exibido e o momento em que o SKOverlay é mostrado. Se esse campo não for definido, o SKOverlay não vai aparecer após o card final. Aplicável somente a criativos de vídeo VAST inseridos em anúncios intersticiais ou premiados.
  • dismissible: um booleano que representa se o SKOverlay pode ser dispensado pelo usuário.

O exemplo a seguir mostra uma resposta à solicitação de lance:

{
  // OMITTED...
  "seatbid": [
    {
      "bid": [
        {
          // OMITTED...
          "ext": {
            // OMITTED...
            "skadn": {
              // OMITTED...
              "itunesitem": "422689480",
              "skoverlay": {
                "delay": 5,
                "endcarddelay": 0
              },
              "productpageid": "some_id"
            }
          }
        }
      ]
    }
  ]
}

Analisar o comportamento esperado do SKOverlay

Este é o comportamento esperado do SKOverlay correspondente à resposta à solicitação de lance anterior:

  • Mostre o SKOverlay cinco segundos após o início do vídeo.
  • Mostre o SKOverlay imediatamente após o card final.
  • Abra a app store quando o usuário clicar no SKOverlay.

  • Se BidResponse.seatbid.bid.ext.skadn.productpageid for especificado, os dados da página de detalhes do app no SKOverlay serão o ícone na página de produto personalizada.

  • Para criativos de vídeo VAST, quando um usuário clica no SDKoverlay, os URLs de clique e de rastreamento de cliques são acionados.

  • Para criativos de vídeo VAST, mesmo que um usuário dispense o SKOverlay durante o vídeo, ele ainda será mostrado após o card final se o campo BidResponse.seatbid.bid.ext.skadn.skoverlay.endcarddelay estiver definido.