Похожие аудитории на основе ценности

Похожие аудитории на основе ценности — это усовершенствованные похожие аудитории. Вы можете добавить к каждой группе пользователей произвольное цифровое значение при создании исходной пользовательской аудитории на основе данных CRM. Это значение будет указывать Facebook на ценность тех или иных пользователей в количественном выражении.

Чтобы использовать эту функцию, нужно во всех соответствующих рекламных аккаунтах принять Пользовательское соглашение для похожих аудиторий на основе ценности. См. Пользовательское соглашение.

Создание

Шаг 1. Создайте пользовательскую аудиторию на основе ценности

Это специальная многоключевая пользовательская аудитория, при создании которой используется параметр is_value_based.

curl -X POST \ -F 'name="Value-Based Custom Audience"' \ -F 'subtype="CUSTOM"' \ -F 'is_value_based=1' \ -F 'customer_file_source="PARTNER_PROVIDED_ONLY"' \ -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' : 'Value-Based Custom Audience', 'subtype' : 'CUSTOM', 'is_value_based' : '1', 'customer_file_source' : 'PARTNER_PROVIDED_ONLY', }; 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' => 'Value-Based Custom Audience', 'subtype' => 'CUSTOM', 'is_value_based' => '1', 'customer_file_source' => 'PARTNER_PROVIDED_ONLY', ); 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': 'Value-Based Custom Audience', 'subtype': 'CUSTOM', 'is_value_based': '1', 'customer_file_source': 'PARTNER_PROVIDED_ONLY', } 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(\"Value-Based Custom Audience\") .setSubtype(CustomAudience.EnumSubtype.VALUE_CUSTOM) .setIsValueBased(true) .setCustomerFileSource(CustomAudience.EnumCustomerFileSource.VALUE_PARTNER_PROVIDED_ONLY) .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: 'Value-Based Custom Audience', subtype: 'CUSTOM', is_value_based: '1', customer_file_source: 'PARTNER_PROVIDED_ONLY', })

Шаг 2. Заполните исходную аудиторию

Необходимо заполнить созданную аудиторию поддерживаемыми идентификаторами и ключами схемы LOOKALIKE_VALUE. В качестве значений могут выступать произвольные неотрицательные числа — целые или с плавающей запятой.

curl -X POST \ -F 'payload={ "schema": [ "EMAIL", "LOOKALIKE_VALUE" ], "data": [ [ "9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254", 44.5 ], [ "8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee", 140 ], [ "4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a", 0 ], [ "98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56", 0.9 ] ] }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/<CUSTOM_AUDIENCE_ID>/users
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const CustomAudience = bizSdk.CustomAudience; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<CUSTOM_AUDIENCE_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 = { 'payload' : {'schema':['EMAIL','LOOKALIKE_VALUE'],'data':[['9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254',44.5],['8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee',140],['4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a',0],['98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56',0.9]]}, }; const users = (new CustomAudience(id)).createUser( fields, params ); logApiCallResult('users api call complete.', users);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\CustomAudience; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<CUSTOM_AUDIENCE_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'payload' => array('schema' => array('EMAIL','LOOKALIKE_VALUE'),'data' => array(array('9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254',44.5),array('8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee',140),array('4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a',0),array('98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56',0.9))), ); echo json_encode((new CustomAudience($id))->createUser( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
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 = '<CUSTOM_AUDIENCE_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'payload': {'schema':['EMAIL','LOOKALIKE_VALUE'],'data':[['9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254',44.5],['8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee',140],['4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a',0],['98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56',0.9]]}, } print CustomAudience(id).create_user( 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 = \"<CUSTOM_AUDIENCE_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new CustomAudience(id, context).createUser() .setPayload(\"{\\"schema\\":[\\"EMAIL\\",\\"LOOKALIKE_VALUE\\"],\\"data\\":[[\\"9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254\\",44.5],[\\"8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee\\",140],[\\"4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a\\",0],[\\"98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56\\",0.9]]}\") .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<CUSTOM_AUDIENCE_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end custom_audience = FacebookAds::CustomAudience.get(id) users = custom_audience.users.create({ payload: {'schema':['EMAIL','LOOKALIKE_VALUE'],'data':[['9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254',44.5],['8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee',140],['4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a',0],['98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56',0.9]]}, })

Шаг 3. Создайте похожую аудиторию на основе ценности

Когда в пользовательскую аудиторию войдут 100 человек или больше, вы сможете использовать ее в качестве исходной для новой похожей аудитории типа custom_ratio.

curl -X POST \ -F 'name="Value-Based lookalike"' \ -F 'subtype="LOOKALIKE"' \ -F 'origin_audience_id="<CUSTOM_AUDIENCE_ID>"' \ -F 'lookalike_spec={ "type": "custom_ratio", "ratio": 0.01, "country": "US" }' \ -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' : 'Value-Based lookalike', 'subtype' : 'LOOKALIKE', 'origin_audience_id' : '<valueBasedCustomAudienceID>', 'lookalike_spec' : {'type':'custom_ratio','ratio':0.01,'country':'US'}, }; 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' => 'Value-Based lookalike', 'subtype' => 'LOOKALIKE', 'origin_audience_id' => '<valueBasedCustomAudienceID>', 'lookalike_spec' => array('type' => 'custom_ratio','ratio' => 0.01,'country' => 'US'), ); 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': 'Value-Based lookalike', 'subtype': 'LOOKALIKE', 'origin_audience_id': '<valueBasedCustomAudienceID>', 'lookalike_spec': {'type':'custom_ratio','ratio':0.01,'country':'US'}, } 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(\"Value-Based lookalike\") .setSubtype(CustomAudience.EnumSubtype.VALUE_LOOKALIKE) .setOriginAudienceId(\"<valueBasedCustomAudienceID>\") .setLookalikeSpec(\"{\\"type\\":\\"custom_ratio\\",\\"ratio\\":0.01,\\"country\\":\\"US\\"}\") .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: 'Value-Based lookalike', subtype: 'LOOKALIKE', origin_audience_id: '<valueBasedCustomAudienceID>', lookalike_spec: {'type':'custom_ratio','ratio':0.01,'country':'US'}, })

Вы можете считывать, обновлять и удалять похожие аудитории на основе ценности так же, как и обычные похожие аудитории. См. также справочные материалы по пользовательским аудиториям и входящим в их состав пользователям.

Таргетинг

Настраивать таргетинг рекламы на похожие аудитории на основе ценности можно точно так же, как и на любую другую пользовательскую аудиторию. См. справку по группам объявлений.