Experimento A/B de mediação

A API AdMob pode criar experimentos A/B de mediação para maximizar a performance dos seus anúncios testando várias configurações. Com um teste A/B, você pode avaliar duas variações de um grupo de mediação para comparar os resultados lado a lado e selecionar uma configuração preferida.

Confira alguns exemplos de experimentos que você pode configurar:

  • Adicione ou remova as origens de anúncios para ver o impacto no seu grupo de mediação.
  • Use uma ordem de hierarquia diferente alterando o valor do eCPM manual das origens de anúncios
  • Ativar ou desativar a otimização nas origens de anúncios em hierarquia
  • Altere o número de vezes que uma origem de anúncios é chamada

Exemplos

Comece com um grupo de mediação e crie uma variação dele para ver qual variante, A ou B, tem melhor performance. O teste divide os usuários do seu app entre a configuração do grupo de mediação atual e a variação, com base em uma porcentagem (1%, 10% ou 50%) que você fornece.

curl (linha de comando)

Solicitações usando curl

  1. Carregue o arquivo de chaves secretas do cliente e gere credenciais de autorização.

    Na primeira vez que você fizer isso, será necessário aceitar uma solicitação de autorização no navegador. Antes de aceitar, verifique se você fez login com uma Conta do Google que tem acesso à API AdMob. Seu app será autorizado a acessar dados em nome da conta que estiver conectada no momento.

    Para autenticação e autorização, recomendamos usar o oauth2l, uma ferramenta de linha de comando simples para trabalhar com o OAuth 2.0 do Google. Instale o oauth2l e execute o comando abaixo, substituindo path_to_credentials_json por um caminho para um arquivo credentials.json que você baixa ao registrar seu app na nuvem. Na primeira execução, o comando orienta você pelo fluxo de autorização do OAuth 2.0. As execuções subsequentes atualizam o token automaticamente.

    oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
    
  2. Crie um experimento A/B de mediação.

    Substitua pub-XXXXXXXXXXXXXXXX pelo ID do editor e ZZZZZZZZZZ pelo ID do grupo de mediação. O ID do grupo de mediação pode ser encontrado na interface da AdMob ou usando o método accounts.mediationGroups:list.

    É necessário especificar o treatmentMediationLines e o treatmentTrafficPercentage, mas o controlMediationLines é herdado do grupo de mediação principal e não precisa ser especificado.

    A solicitação a seguir cria um experimento A/B de mediação em que a variante de tratamento, também conhecida como variante B, contém uma única linha de mediação para a rede da AdMob usando o modo LIVE.

    curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
      "displayName":"Mediation A/B Experiment Test Name",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [{
        "mediationGroupLine": {
          "displayName": "Test mediation group line",
          "adSourceId": "5450213213286189855",
          "cpm_mode": "LIVE"
        }
      }]
    }
    EOF

    Confira o exemplo de resposta abaixo, em que SSSSSSSSSSSSSSSSSSSSSS representa o ID do experimento A/B de mediação criado e YYYYYYYYYY representa os últimos 10 dígitos do ID do bloco de anúncios, obedecendo ao formato: ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY.

    {
      "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments/SSSSSSSSSSSSSSSSSSSSSS",
      "displayName": "Mediation A/B Experiment Test Name",
      "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [
        {
          "mediationGroupLine": {
            "id": "11111111111111111",
            "displayName": "Test mediation group line",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "controlMediationLines": [
        {
          "mediationGroupLine": {
            "id": "22222222222222222",
            "displayName": "AdMob Network (control)",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "state": "RUNNING"
    }
  3. Verifique se o experimento de teste A/B de mediação está em execução.

    Chame accounts.mediationGroups:list para receber o status do experimento A/B de mediação para esse grupo de mediação. Consulte o guia de grupos de mediação para mais detalhes.

    O mediationAbExperimentState é definido como RUNNING para experimentos A/B de mediação ativos e NOT_RUNNING se não houver um experimento em execução no grupo de mediação.

    Exemplo de solicitação:

     curl --http1.0 \
    -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.readonly)"
    
  4. Interrompa o experimento A/B de mediação e selecione uma variante.

    Substitua pub-XXXXXXXXXXXXXXXX pelo ID do editor e ZZZZZZZZZZ pelo ID do grupo de mediação. O ID do grupo de mediação pode ser encontrado na interface da AdMob ou usando o método accounts.mediationGroups:list.

    Para concluir o experimento, especifique a variante vencedora na solicitação:

    • VARIANT_CHOICE_A: use as linhas de mediação da variante A e conclua o experimento. A variante A contém as linhas de exibição originais antes da criação do experimento.
    • VARIANT_CHOICE_B: use as linhas de mediação do formulário da variante B e conclua o experimento. A variante B contém as linhas de exibição recém-adicionadas.

    Exemplo de solicitação:

     curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments:stop \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
    "variantChoice": "VARIANT_CHOICE_A"
    }
    

    Exemplo de resposta:

    {
    "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
    "state": "EXPIRED",
    }