Semelhantes com base em valor

Os semelhantes com base em valor são um aprimoramento dos públicos semelhantes. Com eles, você pode incluir um valor numérico arbitrário para cada conjunto de usuários ao criar um Público Personalizado de origem de dados de CRM. O Facebook usa isso para determinar quais usuários de um público são mais valiosos para você de maneira quantificável.

Para usar esse produto, será necessário aceitar os Termos de Serviço de semelhante com base em valor para todas as contas de anúncios que utilizarem esse recurso. Consulte os Termos de Serviço.

Criar

Etapa 1: criar um Público Personalizado com base em valor

É um Público Personalizado especializado de várias chaves que você cria com o parâmetro 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', })

Etapa 2: preencher um público de origem

É necessário preencher o novo público com identificadores aceitos e a chave de esquema LOOKALIKE_VALUE. Você pode representar valores semelhantes com um número inteiro ou um número não negativo e arbitrário de ponto flutuante.

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]]}, })

Etapa 3: criar um semelhante com base em valor

Quando o Público Personalizado tiver no mínimo 100 pessoas, você poderá usá-lo como público de origem para um novo semelhante do tipo 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'}, })

É possível ler, atualizar e excluir um semelhante com base em valor ao fazer públicos semelhantes normais. Veja também as referências sobre Públicos Personalizados e usuários de Públicos Personalizados.

Direcionamento

Você pode fazer o direcionamento de anúncios com um semelhante com base em valor da mesma forma que faria com qualquer outro Público Personalizado. Veja a referência sobre conjunto de anúncios.