Puedes crear públicos de Segmentación por clientes usando un contacto de cliente subido. o los IDs de dispositivos móviles mediante las opciones API de Video 360. En esta página, se describe cómo para crear un público inicial de Segmentación por clientes y agregar datos de clientes nuevos al público existente que utilizan las campañas de API de Video 360.
Prepara los datos del usuario
Los datos del usuario que se utilizan para completar los públicos de Segmentación por clientes son sensibles y deben esté bien preparado antes de subirlos.
Genera un hash para los datos sensibles
Algunos públicos de Segmentación por clientes se crean con la información de contacto sensible del cliente información. Anuncios gráficos y Video 360 requiere que los datos sensibles generen un hash con el algoritmo SHA256 antes de subirlo. Los siguientes campos de datos deben tener codificación hash antes de subirlo:
- Nombre
- Apellido
- Direcciones de correo electrónico
- Números de teléfono
Los códigos postales y de país no deben generar un hash antes de la carga. Intentando subir datos de clientes sin codificación hash generará un error.
Antes de generar un hash para los datos, asegúrate de cumplir con las siguientes condiciones:
- Se deben quitar los espacios en blanco del nombre, el apellido y la dirección de correo electrónico de salida.
- Todos los valores se deben escribir en minúscula.
- Todos los números de teléfono deben tener el formato E.164 y incluir el código de país.
Establece el consentimiento del usuario
Cuando subas datos del usuario, usa los campos consent
de las
ContactInfoList
o
MobileDeviceIdList
objetos para pasar indicadores de consentimiento
otorgada por los usuarios incluidos.
Configurar cualquiera de los campos del objeto Consent
como
CONSENT_STATUS_DENIED
da como resultado un error.
Los indicadores de consentimiento se establecen para todos los usuarios que se agregan en un
firstAndThirdPartyAudiences.create
o
firstAndThirdPartyAudiences.editCustomerMatchMembers
para cada solicitud. Los usuarios con diferentes indicadores de consentimiento se deben subir en
solicitudes.
Cómo crear un público de Segmentación por clientes
Un público de Segmentación por clientes se puede crear
firstAndThirdPartyAudiences.create
. El público debe
debe declararse como público propio y debe tener un
audienceType
de
CUSTOMER_MATCH_CONTACT_INFO
o
CUSTOMER_MATCH_DEVICE_ID
Los datos de Segmentación por clientes
usando el campo adecuado en el campo de unión
members
Este es un ejemplo de cómo crear una nueva información de contacto para la Segmentación por clientes público con una duración de la membresía ilimitada a través de una lista proporcionada de valores números de teléfono:
Java
// Create Customer Match audience object. FirstAndThirdPartyAudience customerMatchAudience = new FirstAndThirdPartyAudience() .setDisplayName(display-name) .setFirstAndThirdPartyAudienceType( "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY" ) .setAudienceType("CUSTOMER_MATCH_CONTACT_INFO") .setMembershipDurationDays(10000L); // Build list of contact information objects. ContactInfoList contactInfoList = new ContactInfoList(); ArrayList<ContactInfo> contactInfos = new ArrayList<ContactInfo>(); for (String hashedPhoneNumber : list-of-hashed-phone-numbers) { ContactInfo contactInfo = new ContactInfo(); ArrayList<String> phoneNumberList = new ArrayList<String>(); phoneNumberList.add(hashedPhoneNumber); contactInfo.setHashedPhoneNumbers(phoneNumberList); contactInfos.add(contactInfo); } contactInfoList.setContactInfos(contactInfos); // Build consent object for passing consent if granted by the end user. Consent consent = new Consent() .setAdUserData(ad-user-data-consent) .setAdPersonalization(ad-personalization-consent); ContactInfoList.setConsent(consent); // Assign contact info list to Customer Match audience. customerMatchAudience.setContactInfoList(contactInfoList); // Create Customer Match audience. FirstAndThirdPartyAudience response = service .firstAndThirdPartyAudiences() .create(customerMatchAudience) .setAdvertiserId(advertiser-id) .execute(); // Display name of new audience. System.out.printf( "Customer Match audience %s was created.", response.getName() );
Python
# Build list of Contact Info objects contact_infos = [] for hashed_phone_number in list-of-hashed-phone-numbers: contact_infos.append({'hashedPhoneNumbers': [hashed_phone_number]}) # Create a Customer Match first- and third-party audience object. audience_obj = { 'displayName': display-name, 'firstAndThirdPartyAudienceType': 'FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY', 'audienceType': 'CUSTOMER_MATCH_CONTACT_INFO', 'membershipDurationDays': 10000, 'contactInfoList': { 'contactInfos': [ contact_infos ], 'consent': { 'adUserData': ad-user-data-consent, 'adPersonalization': ad-personalization-consent } } } # Build and execute request. audience = service.firstAndThirdPartyAudiences().create( advertiserId=advertiser-id, body=audience_obj ).execute() # Display name of new audience. print('Customer Match audience %s was created.' % audience["name"])
PHP
// Create a Customer Match first- and third-party audience object. $audience = new Google_Service_DisplayVideo_FirstAndThirdPartyAudience(); $audience->setDisplayName(display-name); $audience->setFirstAndThirdPartyAudienceType( 'FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY' ); $audience->setAudienceType('CUSTOMER_MATCH_CONTACT_INFO'); $audience->setMembershipDurationDays(10000); // Build list of contact information objects. $contactInfoList = new Google_Service_DisplayVideo_ContactInfoList(); $contactInfos = array(); foreach (list-of-hashed-phone-numbers as $hashedPhoneNumber) { $contactInfo = new Google_Service_DisplayVideo_ContactInfo(); $contactInfo->setHashedPhoneNumbers(array($hashedPhoneNumber)); $contactInfos[] = $contactInfo; } $contactInfoList->setContactInfos($contactInfos); // Build consent object for passing consent if granted by the end user. $consent = new Google_Service_DisplayVideo_Consent(); $consent->setAdUserData(ad-user-data-consent); $consent->setAdPersonalization(ad-personalization-consent); $contactInfoList->setConsent($consent); // Assign contactInfoList to audience object. $audience->setContactInfoList($contactInfoList); // Call the API, creating the audience. $result = $this->service->firstAndThirdPartyAudiences->create( $audience, array('advertiserId' => advertiser-id) ); // Display name of new audience. printf('Customer Match audience %s was created.', $result['name']);
Cómo actualizar la membresía de un público de Segmentación por clientes
Si identificó clientes adicionales a los que desea orientar sus anuncios, debe
renovar las suscripciones de los clientes membresías de públicos existentes o quieres quitar clientes
de un público, puedes actualizar los datos de un cliente existente
Une el público con el
firstAndThirdPartyAudiences.editCustomerMatchMembers
. Para agregar clientes a una lista, utiliza el
campo de unión added_members
y quitar a los clientes de un
lista con el campo de unión removed_members
.
Un solo
firstAndThirdPartyAudiences.editCustomerMatchMembers
solo pueden agregar o quitar miembros de una lista. Una sola solicitud que intenta
para realizar ambas acciones, se mostrará el error INVALID_ARGUMENT
.
Este es un ejemplo de cómo agregar un cliente único como miembro a un cliente Público de Segmentación por clientes de la información de contacto mediante los datos de la dirección de correo postal proporcionados:
Java
// Create an edit members request object. EditCustomerMatchMembersRequest editCustomerMatchMembersRequest = new EditCustomerMatchMembersRequest() .setAdvertiserId(advertiser-id); // Build contact information object to add to audience. ContactInfoList contactInfoList = new ContactInfoList(); ArrayList<ContactInfo> contactInfos = new ArrayList<ContactInfo>(); ContactInfo contactInfo = new ContactInfo() .setHashedFirstName(hashed-customer-first-name) .setHashedLastName(hashed-customer-last-name) .setZipCodes(customer-zip-codes-list) .setCountryCode(customer-country-code); contactInfos.add(contactInfo); contactInfoList.setContactInfos(contactInfos); // Build consent object for passing consent if granted by the end user. Consent consent = new Consent() .setAdUserData(ad-user-data-consent) .setAdPersonalization(ad-personalization-consent); ContactInfoList.setConsent(consent); // Assign contact info list to request body. editCustomerMatchMembersRequest.setAddedContactInfoList(contactInfoList); // Edit Customer Match audience membership. EditCustomerMatchMembersResponse response = service .firstAndThirdPartyAudiences() .editCustomerMatchMembers( audience-id, editCustomerMatchMembersRequest ) .execute(); // Display ID of updated audience. System.out.printf( "The membership of Customer Match audience ID %s was edited.", response.getFirstAndThirdPartyAudienceId() );
Python
# Create an edit members request object. edit_member_request_obj = { 'advertiserId': advertiser-id, 'addedContactInfoList': { 'contactInfos': [ { 'hashedFirstName': hashed-customer-first-name, 'hashedLastName': hashed-customer-last-name, 'countryCode': customer-country-code, 'zipCodes': customer-zip-codes-list } ], 'consent': { 'adUserData': ad-user-data-consent, 'adPersonalization': ad-personalization-consent } } } # Build and execute request. response = service.firstAndThirdPartyAudiences().editCustomerMatchMembers( firstAndThirdPartyAudienceId=audience-id, body=edit_member_request_obj ).execute() # Display ID of updated audience. print('The membership of the Customer Match audience ID %s was updated.' % response["firstAndThirdPartyAudienceId"])
PHP
// Create an edit members request object. $editMemberRequest = new Google_Service_DisplayVideo_EditCustomerMatchMembersRequest(); $editMemberRequest->setAdvertiserId(advertiser-id); // Build contact information object to add to audience. $contactInfoList = new Google_Service_DisplayVideo_ContactInfoList(); $contactInfos = array(); $contactInfo = new Google_Service_DisplayVideo_ContactInfo(); $contactInfo->setHashedFirstName(hashed-customer-first-name); $contactInfo->setHashedLastName(hashed-customer-last-name); $contactInfo->setCountryCode(customer-country-code); $contactInfo->setZipCodes(array(customer-zip-codes-list)); $contactInfos[] = $contactInfo; $contactInfoList->setContactInfos($contactInfos); // Build consent object for passing consent if granted by the end user. $consent = new Google_Service_DisplayVideo_Consent(); $consent->setAdUserData(ad-user-data-consent); $consent->setAdPersonalization(ad-personalization-consent); $contactInfoList->setConsent($consent); // Assign contactInfoList to edit members request body. $editMemberRequest->setAddedContactInfoList($contactInfoList); // Call the API, editing the audience membership. $response = $this ->service ->firstAndThirdPartyAudiences ->editCustomerMatchMembers( audience-id, $editMemberRequest ); // Display ID of updated audience. printf( 'The membership of Customer Match audience ID %s was edited', $result['firstAndThirdPartyAudienceId'] );