Carica segmenti di pubblico Customer Match

Puoi creare segmenti di pubblico Customer Match utilizzando i contatti dei clienti caricati informazioni o ID dispositivo mobile che utilizzano l'API Video 360. In questa pagina viene descritto come per creare un segmento di pubblico Customer Match iniziale e aggiungere i dati dei nuovi clienti alla sezione segmento di pubblico esistente utilizzando lo strumento Display & l'API Video 360.

Preparare i dati utente

I dati utente utilizzati per compilare i segmenti di pubblico Customer Match sono sensibili e devono essere opportunamente preparate prima di essere caricate.

Esegui l'hashing dei dati sensibili

Alcuni segmenti di pubblico Customer Match vengono creati utilizzando contatti sensibili dei clienti informazioni. Display e Video 360 richiede che i dati sensibili siano sottoposti ad hashing utilizzando l'algoritmo SHA256 prima del caricamento. I seguenti campi di dati devono essere sottoposti ad hashing prima del caricamento:

  • Nome
  • Cognome
  • Indirizzi email
  • Numeri di telefono

I codici postali e i codici paese non devono essere sottoposti ad hashing prima del caricamento. Tentativo di il caricamento di dati dei clienti non sottoposti ad hashing comporta un errore.

Prima di eseguire l'hashing dei dati, verifica che:

  • Gli spazi vuoti devono essere rimossi dal nome, dal cognome e dall'indirizzo email e i relativi valori.
  • Tutti i valori devono essere in minuscolo.
  • Tutti i numeri di telefono devono essere formattati nel formato E.164 e includi il prefisso internazionale del paese.

Quando carichi i dati utente, utilizza i campi consent nell'apposito campo ContactInfoList oppure MobileDeviceIdList oggetti per trasmettere indicatori di consenso concessi dagli utenti inclusi.

L'impostazione di uno dei campi nell'oggetto Consent su CONSENT_STATUS_DENIED genera un errore.

Gli indicatori di consenso vengono impostati per tutti gli utenti aggiunti in un singolo firstAndThirdPartyAudiences.create oppure firstAndThirdPartyAudiences.editCustomerMatchMembers richiesta. Gli utenti con indicatori di consenso diversi devono essere caricati richieste.

Creare un segmento di pubblico Customer Match

È possibile creare un segmento di pubblico Customer Match utilizzando firstAndThirdPartyAudiences.create. Il segmento di pubblico deve essere dichiarato segmento di pubblico proprietario e devono avere audienceType di CUSTOMER_MATCH_CONTACT_INFO oppure CUSTOMER_MATCH_DEVICE_ID I dati Customer Match devono essere forniti utilizzando l'apposito campo del campo Union members

Ecco un esempio di come creare un nuovo tipo di dati di contatto Customer Match segmento di pubblico con una durata inclusione illimitata utilizzando un elenco fornito di hash numeri di telefono:

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']);

Aggiornare l'appartenenza a un segmento di pubblico Customer Match

Se hai individuato altri clienti che vuoi scegliere come target, devi rinnovare i clienti le iscrizioni ai segmenti di pubblico esistenti o vuoi rimuovere clienti da un segmento di pubblico, puoi aggiornare i dati di un Cliente esistente Abbina il pubblico ai firstAndThirdPartyAudiences.editCustomerMatchMembers . Puoi aggiungere clienti a un elenco utilizzando il added_members e rimuovere i clienti da un elenco con il campo di unione removed_members.

Un singolo firstAndThirdPartyAudiences.editCustomerMatchMembers consente solo di aggiungere o rimuovere membri da un elenco. Il tentativo di una singola richiesta se esegui entrambe le operazioni, viene restituito un errore INVALID_ARGUMENT.

Ecco un esempio di come aggiungere un singolo cliente come membro a un account esistente dati di contatto del segmento di pubblico Customer Match utilizzando i dati dell'indirizzo postale forniti:

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']
);