Custom Audiences über mobile App

Erstelle Zielgruppen basierend auf den Handlungen von Personen in deiner App, die deine Kriterien erfüllen. Mit dieser Funktion kannst du eine Zielgruppe erstellen, die beispielsweise:

  • „Level 8 in den letzten 10 Tagen erreicht hat“
  • „die App in den letzten 8 Tagen benutzt, aber nichts gekauft hat“
  • „etwas zum Einkaufswagen hinzugefügt, es aber nicht gekauft hat“

Diese Lösung verwendet protokollierte benannte Events über unsere Facebook-SDKs, App Events API oder Mobile Measurement Partners. Beispiele für zu protokollierende Events sind „Installiert“, „Zum Einkaufswagen hinzugefügt“, „Gekauft“ oder „Level erreicht“.

Einschränkungen

  • subtype für Custom Audiences für Interaktionen wird nur für Video unterstützt.
  • Custom Audiences über mobile App für Einschluss-Targeting wird für den POST /{ad-account-id}/adsets-Endpunkt für SKAdNetwork-Kampagnen mit iOS 14.5 und höher nicht mehr unterstützt.
  • Neue App-Installationskampagnen für iOS 14.5 und höher können App-Verbindungs-Targeting nicht mehr nutzen.

Eine Zielgruppe erstellen

Um Custom Audiences über deine mobile App zu erstellen, müssen für das Werbekonto die Nutzungsbedingungen für Custom Audiences im Werbeanzeigenmanager akzeptiert werden. So unterzeichnest du die Nutzungsbedingungen:

  • Du musst über eine Rolle als Administrator, Entwickler oder Insights-Nutzer für das Werbekonto verfügen.
  • Dein Werbekonto muss in den Einstellungen deiner App als Werbekonto aufgeführt sein.

So erstellst du deine Zielgruppe:

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/v19.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', })

Gibt bei Erfolg die id der Zielgruppe zurück. Die folgenden Parameter sind besonders relevant:

Name Beschreibung

name

Typ: String

Erforderlich.

Name deiner Custom Audience.

description

Typ: String

Optional.

Beschreibung deiner Custom Audience.

rule

Typ: JSON-Objekt

Optional.

Regel zum Definieren der Zielgruppe. Siehe Zielgruppenregeln.

Für jedes Werbekonto können maximal 200 Custom Audiences anhand von Custom Audiences über deine mobile App erstellt werden. Starte eine POST-Anfrage an:

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

Verwende die folgenden Felder:

Name Beschreibung

name

Typ: string

Erforderlich.

Name deiner Custom Audience

retention_days

Typ: int

Erforderlich.

Wie lange jemand in dieser Zielgruppe ist. Der Mindestwert ist 1. Der Höchstwert ist 180.


Wenn der Wert für retention_days 14 ist und ein Mitglied der Zielgruppe an Tag 13 ein App-Event auslöst, das deine Kriterien erfüllt, verlängert Facebook die Zeit dieses Mitglieds in der Zielgruppe um weitere 14 Tage. Personen verbleiben nach dem letzten von ihnen ausgelösten Event für N Tage in einer Zielgruppe.

rule

Typ: JSON-Objekt

Erforderlich.

Regeln zum Definieren der Zielgruppe. Siehe Zielgruppenregeln

Zielgruppenregeln

Definiere eine Regel auf der Grundlage von Events in deiner App, um zu bestimmen, wer zur Custom Audience hinzugefügt wird. Eine Regel ist ein JSON-Objekt mit Schlüssel-Wert-Paaren und kann sich auf mehrere App-Events beziehen. Du kannst die Regel auf Basis von bestimmten Events und deren Parametern und auch der Aggregation definieren. Weitere Informationen findest du unter Zielgruppenregeln. Siehe auch:

  • Syntax der Regel für Ein-/Ausschluss: Lege unter event_sourcesid auf die ID deiner App und type auf app fest.
  • Filterregeln:
    • Verwende 'event' als field, wenn der Filter ein Event angeben soll. Parameter, die von der App gesendeten App-Events entsprechen; z. B. „_appVersion“, „_value“ usw.
    • Falls das Attribut field auf "event" gesetzt ist, muss der Wert auf einen Event-Namen festgelegt werden. Verwende die App Event API, um App-Events und vom Pixel gemeldete Parameter anzuzeigen.
  • Aggregatfunktionen: Die folgenden Aggregatfunktionen sind für Custom Audiences über mobile App verfügbar: "count","sum", "avg", "min" und "max".

Custom Audiences über mobile App – Beispielregeln

Beispiel für Standard-Event

Alle Nutzer, die in den letzten 30 Tagen über die mobile App gekauft haben, für die App-ID 55064006:

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

Beispiel für eigenes Event mit Parametern

Alle Nutzer, die in den letzten 30 Tagen eigene “timeOnPanel”-Events für die App-ID 55064006 zurückgegeben haben:

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

Alle Nutzer, die eigene “timeOnPanel”-Events zurückgegeben haben, bei der Event-Wert größer als 30 und die Farbe “red” oder “blue” ist und das Lieblingsdessert “banana” enthält:

{
    "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",
                        }
                    ]
                }
            }
        ]
    }
}

Beispiel für Aggregation

Top 20 % der Käufer gemäß den Käufen der letzten 30 Tage:

{
    "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,
                }
            }
        ]
    }
}

Beispiel für Ausschlüsse

Das folgende Beispiel beinhaltet Personen, die etwas zum Einkaufswagen hinzugefügt, es aber nicht gekauft haben:

{
    "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"
                        }
                    ]
                }
            }
        ]
    }
}

App Events API

Rufe die App-Events und Parameter ab, die eine App an Facebook gesendet hat. Du kannst diese Events und Parameter direkt zum Erstellen von Custom Audiences verwenden. Du benötigst einen mit der app_id zusammenhängenden Zugriffsschlüssel in der Rolle Administrator, Entwickler oder Werbetreibender.

Starte eine GET-Anfrage:

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

Die Antwort erfolgt im JSON-Format und umfasst ein data-Array von JSON-Verzeichnissen mit folgenden Feldern:

Name Beschreibung

event_name

Typ: string

App-Event-Typ, der für die Regel verwendet wird.

display_name

Typ: string

Vom Nutzer lesbarer Name des Event-Typs

description

Typ: string

Ausführliche Beschreibung des Standard-Events

parameters

Typ: Array

Array von JSON-Verzeichnissen, die Parameter für dieses Event beschreiben {"parameter_name": "fb_currency","display_name": "Currency","description": "Currency for event"}


parameter_name – String, App-Parameter-Typ, der für die Regel verwendet wird


display_name – String, vom Nutzer lesbarer Name des Event-Typs


description – String, ausführliche Beschreibung des Parameters, wenn es sich um einen Standardparameter handelt


Verwalten von Zielgruppen