Flexibles Targeting

Kombiniere oder schließe verschiedene Targeting-Optionen unter flexible_spec mit AND- und OR-Aussagen aus, um auf eine bestimmte Nutzer*innengruppe abzuzielen. Facebook wertet Targeting unter flexible_spec über AND bei allen Segmenten außerhalb der Spezifikationen aus, wie Alter, Geschlecht oder Standort. Wir werten außerdem jedes Array-Element der obersten Ebene unter flexible_spec mit AND aus. Array-Elemente der zweiten Ebene werten wir mit OR aus.

Targeting-Segmente wie Verhaltensweisen, die innerhalb von flexible_spec festgelegt wurden, stehen für die Verwendung außerhalb von flexible_spec nicht zur Verfügung.

Verfügbare Felder

Lege flexible_spec und exclusions wie folgt fest:

Feld Beschreibung

flexible_spec

Typ: JSON-Objekt

Array von Arrays. Jedes Array enthält ein Targeting-Segment in angemessenem Format, zum Beispiel Interessen, Verhaltensweisen und demografische Angaben. Das übergeordnete Array hat einen Höchstwert von 25 und das untergeordnete Array einen Höchstwert von 1.000.

exclusions

Typ: JSON-Objekt

Enthält ein Targeting-Segment in angemessenem Format, zum Beispiel Interessen, Verhaltensweisen und demografische Angaben („education“, „life events“, „work“).

Verwende diese Felder beim flexiblen Targeting:

  • connections
  • friends_of_connections
  • custom_audiences
  • interests
  • behaviors
  • college_years
  • education_majors
  • education_schools
  • education_statuses
  • family_statuses
  • home_value
  • interested_in
  • income
  • industries
  • life_events
  • user_adclusters
  • work_positions
  • work_employers

Beispiele

Flexibles Targeting

So richtest du dich an Personen im Alter von 18 bis 43 Jahren, die in den USA leben, nicht kürzlich umgezogen sind und gerne reisen oder Fußball und Filme mögen und kürzlich geheiratet haben oder Musik mögen:

use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Values\AdSetBillingEventValues;
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;
use FacebookAds\Object\Fields\TargetingFields;
use FacebookAds\Object\Targeting;

$adset = new AdSet(null, 'act_<AD_ACCOUNT_ID>');
$adset->setData(array(
  AdSetFields::NAME => 'My AdSet',
  AdSetFields::OPTIMIZATION_GOAL => AdSetOptimizationGoalValues::REACH,
  AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
  AdSetFields::BID_AMOUNT => 150,
  AdSetFields::DAILY_BUDGET => 2000,
  AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
  AdSetFields::TARGETING => (new Targeting())->setData(array(
    TargetingFields::GEO_LOCATIONS => array(
      'countries' => array(
        'US',
      ),
    ),
    TargetingFields::AGE_MIN => 18,
    TargetingFields::AGE_MAX => 43,
    TargetingFields::FLEXIBLE_SPEC => array(
      array(
        TargetingFields::BEHAVIORS => array(
          array(
            'id' => 6002714895372,
            'name' => 'All travelers',
          ),
        ),
        TargetingFields::INTERESTS => array(
          array(
            'id' => 6003107902433,
            'name' => 'Association football (Soccer)',
          ),
          array(
            'id' => 6003139266461,
            'name' => 'Movies',
          ),
        ),
      ),
      array(
        TargetingFields::INTERESTS => array(
          array(
            'id' => 6003020834693,
            'name' => 'Music',
          ),
        ),
        TargetingFields::LIFE_EVENTS => array(
          array(
            'id' => 6002714398172,
            'name' => 'Newlywed (1 year)',
          ),
        ),
      ),
    ),
    TargetingFields::EXCLUSIONS => array(
      TargetingFields::RELATIONSHIP_STATUSES => array(1, 3),
      TargetingFields::LIFE_EVENTS => array(
        array(
          'id' => 6003054185372,
          'name' => 'Recently moved',
        ),
      ),
    ),
  )),
));
$adset->create(array(
  AdSet::STATUS_PARAM_NAME => AdSet::STATUS_ACTIVE,
));
from facebookads.adobjects.adset import AdSet

adset = AdSet(parent_id='act_<AD_ACCOUNT_ID>')
adset.update({
    AdSet.Field.name: 'My AdSet',
    AdSet.Field.optimization_goal: AdSet.OptimizationGoal.reach,
    AdSet.Field.billing_event: AdSet.BillingEvent.impressions,
    AdSet.Field.bid_amount: 150,
    AdSet.Field.daily_budget: 2000,
    AdSet.Field.campaign_id: <CAMPAIGN_ID>,
    AdSet.Field.targeting: {
        'geo_locations': {
            'countries': ['US'],
        },
        'age_min': 18,
        'age_max': 43,
        'flexible_spec': [
            {
                'behaviors': [
                    {
                        'id': 6002714895372,
                        'name': 'All travelers',
                    },
                ],
                'interests': [
                    {
                        'id': 6003107902433,
                        'name': 'Association football (Soccer)',
                    },
                    {
                        'id': 6003139266461,
                        'name': 'Movies',
                    },
                ],
            },
            {
                'interests': [
                    {
                        'id': 6003020834693,
                        'name': 'Music',
                    },
                ],
                'life_events': [
                    {
                        'id': 6002714398172,
                        'name': 'Newlywed (1 year)',
                    },
                ],
            },
        ],
        'exclusions': {
            'relationship_statuses': [1, 3],
            'life_events': [
                {
                    'id': 6003054185372,
                    'name': 'Recently moved',
                },
            ],
        },
    },
})
adset.remote_create(params={
    'status': AdSet.Status.active,
})
AdSet adSet = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAdSet()
  .setName("My AdSet")
  .setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_REACH)
  .setBillingEvent(AdSet.EnumBillingEvent.VALUE_IMPRESSIONS)
  .setBidAmount(150L)
  .setDailyBudget(2000L)
  .setCampaignId(<CAMPAIGN_ID>)
  .setTargeting(
    new Targeting()
      .setFieldAgeMax(43L)
      .setFieldAgeMin(18L)
      .setFieldExclusions(
        new FlexibleTargeting()
          .setFieldLifeEvents(Arrays.asList(
            new IDName()
              .setFieldId("6003054185372")
              .setFieldName("Recently moved")
          ))
          .setFieldRelationshipStatuses(Arrays.asList(1L, 3L))
      )
      .setFieldFlexibleSpec(Arrays.asList(
        new FlexibleTargeting()
          .setFieldBehaviors(Arrays.asList(
            new IDName()
              .setFieldId("6002714895372")
              .setFieldName("All travelers")
          ))
          .setFieldInterests(Arrays.asList(
            new IDName()
              .setFieldId("6003107902433")
              .setFieldName("Association football (Soccer)")
          , 
            new IDName()
              .setFieldId("6003139266461")
              .setFieldName("Movies")
          ))
      , 
        new FlexibleTargeting()
          .setFieldInterests(Arrays.asList(
            new IDName()
              .setFieldId("6003020834693")
              .setFieldName("Music")
          ))
          .setFieldLifeEvents(Arrays.asList(
            new IDName()
              .setFieldId("6002714398172")
              .setFieldName("Newlywed (1 year)")
          ))
      ))
      .setFieldGeoLocations(
        new TargetingGeoLocation()
          .setFieldCountries(Arrays.asList("US"))
      )
  )
  .setStatus(AdSet.EnumStatus.VALUE_ACTIVE)
  .execute();
String ad_set_id = adSet.getId();
curl \
  -F 'name=My AdSet' \
  -F 'optimization_goal=REACH' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'bid_amount=150' \
  -F 'daily_budget=2000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ 
    "age_max": 43, 
    "age_min": 18, 
    "exclusions": { 
      "relationship_statuses": [1,3], 
      "life_events": [{"id":6003054185372,"name":"Recently moved"}] 
    }, 
    "flexible_spec": [ 
      { 
        "behaviors": [{"id":6002714895372,"name":"All travelers"}], 
        "interests": [ 
          {"id":6003107902433,"name":"Association football (Soccer)"}, 
          {"id":6003139266461,"name":"Movies"} 
        ] 
      }, 
      { 
        "interests": [{"id":6003020834693,"name":"Music"}], 
        "life_events": [{"id":6002714398172,"name":"Newlywed (1 year)"}] 
      } 
    ], 
    "geo_locations": {"countries":["US"]} 
  }' \
  -F 'status=ACTIVE' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets

Bei diesen flexiblen Spezifikationen wird folgende Zielgruppe zurückgegeben:

(Segment 1 or Segment 2 or Segment 3) und (Segment 4 or Segment 5) und Segment 6

flexible_spec=
[
  {
    'segment_type':[segment1, segment2], 
    'segment_type':[segment3]
  },
  { 
    'segment_type':[segment4, segment5]
  },
  { 
    'segment_type':[segment6]
  }
]

Flexibles Targeting mit Ausschlüssen

Erstelle zum Beispiel eine Zielgruppe mit Personen im Alter von 20 bis 24 Jahren, nicht kürzlich umgezogen sind und gerne reisen oder Fußball und Filme mögen und kürzlich geheiratet haben oder Musik mögen:

targeting=
{'geo_locations':{ 
  'countries': ['US'], 
}, 
'age_min':20, 
'age_max':24, 
'flexible_spec': [ 
  {
    'behaviors':[{'id':6002714895372,'name':'All travelers'},], 
    'interests':[ 
      {'id':6003107902433,'name':'Association football (Soccer)'}, 
      {'id':6003139266461, 'name': 'Movies'},],  
  }, 
  {
    'life_events':[{'id': 6002714398172, 'name': 'Newlywed (1 year)'}],
    'interests':[{'id':6003020834693,'name':'Music'},], 
  },   
], 
'exclusions': { 
  'life_events':[{'id':6003054185372,'name':'Recently moved'},], 
}, 
} 

Verwende für diese Anzeigengruppe folgende Targeting-Spezifikationen:

{
  "targeting": { 
    "age_min": 20, 
    "age_max": 24,
    "exclusions": {
      "life_events": [
        {
          "id": "6003054185372", 
          "name": "Recently moved"
        }
      ], 
    }, 
    "flexible_spec": [
      {
        "interests": [
          {
            "id": "6003107902433", 
            "name": "Association football (Soccer)"
          }, 
          {
            "id": "6003139266461", 
            "name": "Movies"
          }
        ], 
        "behaviors": [
          {
            "id": "6002714895372", 
            "name": "All travelers"
          }
        ]
      }, 
      {
        "interests": [
          {
            "id": "6003020834693", 
            "name": "Music"
          }
        ],       
        "life_events": [
          {
            "id": "6002714398172", 
            "name": "Newlywed (1 year)"
          }
        ]
      }
    ], 
    "geo_locations": {
      "countries": [
        "US"
      ]
    }
  }, 
  "id": "6015417075447"
}