Públicos similares basados en valores

Los públicos similares basados en valores son una mejora de los públicos similares. Con esta función, puedes incluir un valor numérico y arbitrario para cada conjunto de usuarios cuando creas un público personalizado de origen a partir de datos de CRM. Facebook usa este valor para determinar, de manera cuantitativa, qué usuarios dentro de un público tienen más valor para ti.

Para usar este producto, debes aceptar las condiciones del servicio de los públicos similares basados en valores en cada cuenta publicitaria en la que utilices dicha función. Consulta las Condiciones del servicio.

Crear

Paso 1: Crear un público personalizado basado en valores

Se trata de un público personalizado multiclave especializado que creas con el 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', })

Paso 2: Completar el público de origen

Debes completar el nuevo público con identificadores compatibles y la clave del esquema LOOKALIKE_VALUE. Puedes representar valores de público similar con un número entero o un número no negativo arbitrario de punto flotante.

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

Paso 3: Crear un público similar basado en valores

Cuando el público personalizado contenga un mínimo de 100 personas, podrás usarlo como público de origen para crear un nuevo público similar de 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'}, })

De igual forma que ocurre con los públicos similares normales, puedes consultar, actualizar y eliminar un público similar basado en valores. Consulta también la Referencia sobre públicos personalizados y la Referencia de usuarios de públicos personalizados.

Segmentación

Puedes segmentar anuncios con públicos similares basados en valores de igual forma que con cualquier otro público personalizado. Consulta Referencia del conjunto de anuncios.