Anda dapat membuat audiens Customer Match menggunakan kontak pelanggan yang diupload atau ID perangkat seluler yang menggunakan ID Video 360 API. Halaman ini menjelaskan cara untuk membuat audiens Customer Match awal dan menambahkan data pelanggan baru ke audiens yang sudah ada menggunakan kampanye Display & Video 360 API.
Menyiapkan data pengguna
Data pengguna yang digunakan untuk mengisi audiens Customer Match bersifat sensitif dan harus dipersiapkan dengan baik sebelum diunggah.
Melakukan hashing pada data sensitif
Beberapa audiens Customer Match dibuat menggunakan kontak pelanggan yang sensitif tidak akurat atau tidak sesuai. Layar & Video 360 mengharuskan data sensitif di-hash menggunakan Algoritma SHA256 sebelum diupload. Kolom data berikut harus di-hash sebelum diupload:
- Nama depan
- Nama belakang
- Alamat email
- Nomor telepon
Kode pos dan kode negara tidak boleh di-hash sebelum diupload. Mencoba untuk upload data pelanggan tanpa hash akan menghasilkan error.
Sebelum melakukan hashing pada data, pastikan kondisi berikut:
- Semua spasi kosong harus dihapus dari nama depan, nama belakang, dan alamat email masing-masing.
- Semua nilai harus dibuat dalam huruf kecil.
- Semua nomor telepon harus diformat menggunakan format E.164 dan sertakan kode panggilan negara.
Menetapkan izin pengguna
Saat mengupload data pengguna, gunakan kolom consent
di kolom yang disediakan
ContactInfoList
atau
Objek MobileDeviceIdList
untuk meneruskan sinyal izin
oleh pengguna yang disertakan.
Menetapkan salah satu kolom di objek Consent
ke
CONSENT_STATUS_DENIED
menghasilkan error.
Sinyal izin ditetapkan untuk semua pengguna yang ditambahkan di satu
firstAndThirdPartyAudiences.create
atau
firstAndThirdPartyAudiences.editCustomerMatchMembers
permintaan. Pengguna dengan sinyal izin yang berbeda harus diupload di platform terpisah
permintaan.
Membuat audiens Customer Match
Audiens Customer Match dapat dibuat menggunakan
Metode firstAndThirdPartyAudiences.create
. Audiens harus
dinyatakan sebagai audiens pihak pertama dan harus memiliki
audienceType
dari
CUSTOMER_MATCH_CONTACT_INFO
atau
CUSTOMER_MATCH_DEVICE_ID
. Data Customer Match harus
disediakan menggunakan kolom yang sesuai dalam kolom union
members
Berikut adalah contoh cara membuat informasi kontak baru Customer Match audiens dengan durasi keanggotaan tak terbatas menggunakan daftar hash yang disediakan nomor telepon:
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']);
Memperbarui keanggotaan audiens Customer Match
Jika Anda menemukan pelanggan tambahan yang ingin ditargetkan, Anda harus
perpanjang langganan keanggotaan audiens yang ada, atau ingin menghapus pelanggan
dari audiens, Anda dapat memperbarui data pelanggan tentang pelanggan lama
Cocokkan audiens dengan
firstAndThirdPartyAudiences.editCustomerMatchMembers
. Anda dapat menambahkan pelanggan ke daftar menggunakan
added_members
dan menghapus pelanggan dari
daftar dengan kolom union removed_members
.
Satu
firstAndThirdPartyAudiences.editCustomerMatchMembers
hanya dapat menambahkan atau
menghapus anggota dari daftar. Satu permintaan mencoba
melakukan keduanya akan menghasilkan error INVALID_ARGUMENT
.
Berikut adalah contoh cara menambahkan satu pelanggan sebagai anggota ke pelanggan lama informasi kontak audiens Customer Match yang menggunakan data alamat surat yang diberikan:
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'] );