Públicos Personalizados do aplicativo para celular

Crie públicos com base nas ações das pessoas em seu aplicativo que atendem a seus critérios. Este recurso permite a criação de públicos com base em diferentes critérios. Por exemplo:

  • “Passou do nível 8 nos últimos 10 dias”
  • “Usou o aplicativo nos últimos 8 dias, mas ainda não fez uma compra”
  • “Adicionou um produto ao carrinho, mas não finalizou a compra”

Esta solução usa eventos com nome registrado por meio dos SDKs do Facebook, da API de Eventos do Aplicativo ou dos Mobile Measurement Partners. Exemplos de eventos a serem registrados incluem “Instalou", “Adicionou ao carrinho", “Comprou" ou “Atingiu um nível”.

Limitações

  • O subtype para públicos personalizados de engajamento só tem compatibilidade com vídeo.
  • Os Públicos Personalizados do aplicativo para celular de direcionamento de inclusão não têm mais compatibilidade com o ponto de extremidade POST /{ad-account-id}/adsets das campanhas da SKAdNetwork para o iOS 14.5.
  • Novas campanhas de instalação do aplicativo para o iOS 14.5 não poderão mais usar o direcionamento de conexões do aplicativo.

Criar um público

Para criar Públicos Personalizados do seu aplicativo para celular, a conta de anúncios precisa aceitar os Termos de Serviço para Públicos Personalizados em Gerenciador de Anúncios. Veja os requisitos necessários para assinar os termos:

  • Você precisa ser um usuário Administrador, Desenvolvedor ou de Informações para a conta de anúncios.
  • A conta de anúncios deve estar listada como tal nas configurações do seu aplicativo.

Para criar seu público:

curl -X POST \ -F 'name="My Test Website Custom Audience"' \ -F 'rule={ "inclusions": { "operator": "or", "rules": [ { "event_sources": [ { "id": "<APP_ID>", "type": "app" } ], "retention_seconds": 8400, "filter": { "operator": "and", "filters": [ { "field": "event", "operator": "eq", "value": "fb_mobile_purchase" } ] } } ] } }' \ -F 'prefill=1' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/customaudiences
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const CustomAudience = bizSdk.CustomAudience; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_ACCOUNT_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'name' : 'My Test Website Custom Audience', 'rule' : {'inclusions':{'operator':'or','rules':[{'event_sources':[{'id':'<appID>','type':'app'}],'retention_seconds':8400,'filter':{'operator':'and','filters':[{'field':'event','operator':'eq','value':'fb_mobile_purchase'}]}}]}}, 'prefill' : '1', }; const customaudiences = (new AdAccount(id)).createCustomAudience( fields, params ); logApiCallResult('customaudiences api call complete.', customaudiences);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; use FacebookAds\Object\CustomAudience; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_ACCOUNT_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'name' => 'My Test Website Custom Audience', 'rule' => array('inclusions' => array('operator' => 'or','rules' => array(array('event_sources' => array(array('id' => '<appID>','type' => 'app')),'retention_seconds' => 8400,'filter' => array('operator' => 'and','filters' => array(array('field' => 'event','operator' => 'eq','value' => 'fb_mobile_purchase'))))))), 'prefill' => '1', ); echo json_encode((new AdAccount($id))->createCustomAudience( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount from facebook_business.adobjects.customaudience import CustomAudience from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'name': 'My Test Website Custom Audience', 'rule': {'inclusions':{'operator':'or','rules':[{'event_sources':[{'id':'<appID>','type':'app'}],'retention_seconds':8400,'filter':{'operator':'and','filters':[{'field':'event','operator':'eq','value':'fb_mobile_purchase'}]}}]}}, 'prefill': '1', } print AdAccount(id).create_custom_audience( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<AD_ACCOUNT_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdAccount(id, context).createCustomAudience() .setName(\"My Test Website Custom Audience\") .setRule(\"{\\"inclusions\\":{\\"operator\\":\\"or\\",\\"rules\\":[{\\"event_sources\\":[{\\"id\\":\\"<appID>\\",\\"type\\":\\"app\\"}],\\"retention_seconds\\":8400,\\"filter\\":{\\"operator\\":\\"and\\",\\"filters\\":[{\\"field\\":\\"event\\",\\"operator\\":\\"eq\\",\\"value\\":\\"fb_mobile_purchase\\"}]}}]}}\") .setPrefill(true) .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_account = FacebookAds::AdAccount.get(id) customaudiences = ad_account.customaudiences.create({ name: 'My Test Website Custom Audience', rule: {'inclusions':{'operator':'or','rules':[{'event_sources':[{'id':'<appID>','type':'app'}],'retention_seconds':8400,'filter':{'operator':'and','filters':[{'field':'event','operator':'eq','value':'fb_mobile_purchase'}]}}]}}, prefill: '1', })

Exibe o id do público em caso de sucesso. Estes parâmetros são os mais relevantes:

Nome Descrição

name

tipo: cadeia de caracteres

Obrigatório.

Nome do Público Personalizado.

description

tipo: cadeia de caracteres

Opcional.

Descrição do público personalizado.

rule

tipo: objeto JSON

Opcional.

Regra para definir o público. Consulte Regras de público.

Cada conta de anúncios pode criar no máximo 200 Públicos Personalizados a partir do aplicativo para celular. Faça uma solicitação POST para:

https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/customaudiences

Use estes campos:

Nome Descrição

name

tipo: cadeia de caracteres

Obrigatório.

O nome do seu Público Personalizado.

retention_days

tipo: número inteiro

Obrigatório.

Há quanto tempo alguém está nesse público. O número mínimo é 1. O número máximo é 180.


Se retention_days for definido como 14 e, no 13º dia, um membro do público acionar um evento do aplicativo que atenda aos seus critérios, o Facebook ampliará o tempo no público por mais 14 dias. Alguém está no público N dias desde que o último evento correspondente foi acionado.

rule

tipo: objeto JSON

Obrigatório.

Regras para definir o público. Consulte Regras de público.

Regras de público

Para determinar quem é adicionado ao Público Personalizado, defina uma regra com base em eventos em seu aplicativo. Uma regra é um objeto JSON com pares de valores chave e pode fazer referência a vários eventos do aplicativo. Você pode definir a regra com base em eventos específicos e seus parâmetros e também em agregação. Consulte Regras de público para saber mais. Veja também:

  • Sintaxe da regra de inclusão e exclusão: em event_sources, defina id como o ID do seu aplicativo e type como app.
  • Regras de filtro:
    • Use 'event' como field se o filtro especificar um evento. Os parâmetros que correspondem a Eventos do aplicativo enviados pelo aplicativo (por exemplo, "_appVersion", "_value” e assim por diante).
    • Se o atributo field for definido como "event", o valor deverá ser configurado como um nome de evento. Use a API de Evento do Aplicativo para ver os eventos do aplicativo e parâmetros relatados pelo pixel.
  • Funções de agregação: as funções de agregação "count", "sum", "avg", "min" e "max" estão disponíveis para os Públicos Personalizados do aplicativo para celular.

Exemplo das regras de Público Personalizado do aplicativo para celular

Exemplo do evento padrão

Todas as pessoas que fizeram uma compra no aplicativo para celular nos últimos 30 dias para o ID 55064006 do aplicativo:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "fb_mobile_purchase"
                        }
                    ]
                }
            }
        ]
    }
}

Evento personalizado com exemplo de parâmetros

Todos os usuários que reverteram eventos “timeOnPanel” personalizados nos últimos 30 dias para o ID 55064006 do aplicativo:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "timeOnPanel"
                        }
                    ]
                }
            }
        ]
    }
}

Todos os usuários que reverteram eventos “timeOnPanel” personalizados em que o valor do evento é maior que 30, a cor é “red” ou “blue” e que têm “banana” como sobremesa favorita:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app",
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "timeOnPanel",
                        },
                        {
                            "field": "_value",
                            "operator": ">",
                            "value": 30,
                        },
                        {
                            "field": "color",
                            "operator": "is_any",
                            "value": ["red", "blue"],
                        },
                        {
                            "field": "favoriteDessert",
                            "operator": "contains",
                            "value": "banana",
                        }
                    ]
                }
            }
        ]
    }
}

Exemplo de agregação

Compradores 20% melhores com base nas compras nos últimos 30 dias:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "fb_mobile_purchase"
                        }
                    ]
                }
                "aggregation": {
                    "type": "count",
                    "method": "percentile",
                    "operator": "in_range",
                    "from": 75,  
                    "to": 100,
                }
            }
        ]
    }
}

Exemplo de exclusão

O exemplo a seguir inclui pessoas que adicionaram produtos ao carrinho, mas não finalizaram a compra:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "add_to_cart"
                        }
                    ]
                }
            }
        ]
    },
    "exclusions": {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "fb_mobile_purchase"
                        }
                    ]
                }
            }
        ]
    }
}

API de Eventos do Aplicativo

Consulte quais eventos do aplicativo e parâmetros um aplicativo relatou ao Facebook. Você pode usar esses eventos e parâmetros para criar Públicos Personalizados de forma direta. Você precisa de um token de acesso associado ao app_id com uma função de administrador, desenvolvedor ou anunciante.

Faça uma solicitação GET:

https://graph.facebook.com/<API_VERSION>/<APP_ID>/app_event_types

A resposta é JSON contendo uma matriz data dos dicionários JSON com estes campos:

Nome Descrição

event_name

tipo: cadeia de caracteres

Tipo de evento do aplicativo para uso na regra.

display_name

tipo: cadeia de caracteres

Nome legível do tipo de evento

description

tipo: cadeia de caracteres

Descrição detalhada do evento padrão

parameters

tipo: matriz

Matriz de dicionários JSON descrevendo parâmetros desse evento {"parameter_name": "fb_currency","display_name": "Currency","description": "Currency for event"}


parameter_name: cadeia de caracteres, tipo de parâmetro do aplicativo para uso na regra.


display_name: cadeia de caracteres, nome legível do tipo de evento.


description: cadeia de caracteres, descrição detalhada do parâmetro, caso ele seja padrão.


Como gerenciar públicos