업로드된 고객 연락처를 사용하여 고객 일치 타겟팅 잠재고객을 만들 수 있습니다. 디스플레이 및 휴대기기 ID를 사용하여 Video 360 API 이 페이지에서는 초기 고객 일치 타겟팅 잠재고객을 만들고 기존 잠재고객 및 리마케팅 목록을 사용하여 Video 360 API
사용자 데이터 준비
고객 일치 타겟팅 잠재고객을 채우는 데 사용되는 사용자 데이터는 민감하며 제대로 준비해야 합니다
민감한 정보 해싱
일부 고객 일치 타겟팅 잠재고객은 민감한 고객 연락처를 사용하여 생성됩니다. 확인할 수 있습니다 디스플레이 및 Video 360에서는 민감한 정보를 SHA256 알고리즘을 다시 로드해야 합니다. 다음 데이터 필드는 해싱되어야 합니다. 업로드 전:
- 이름
- 성
- 이메일 주소
- 전화번호
우편번호 및 국가 코드는 업로드 전에 해싱되지 않아야 합니다. 시도 중 해싱되지 않은 고객 데이터를 업로드하면 오류가 발생합니다.
데이터를 해싱하기 전에 다음 조건을 확인하세요.
- 이름, 성, 이메일 주소에서 공백을 삭제해야 합니다. 값으로 사용됩니다.
- 모든 값은 소문자여야 합니다.
- 모든 전화번호는 E.164 형식을 사용하여 형식이어야 하며 국가 통화 코드를 포함해야 합니다.
사용자 동의 설정
사용자 데이터를 업로드할 때 제공된consent
ContactInfoList
또는
동의 신호를 전달하는 MobileDeviceIdList
객체
부여되지 않습니다.
Consent
객체의 두 필드 중 하나를 다음으로 설정
CONSENT_STATUS_DENIED
에서 오류가 발생합니다.
단일에서 추가된 모든 사용자에 대해 동의 신호가 설정됨
firstAndThirdPartyAudiences.create
또는
firstAndThirdPartyAudiences.editCustomerMatchMembers
합니다. 동의 신호가 다른 사용자는 별도로 업로드해야 함
요청을 처리합니다
고객 일치 타겟팅 잠재고객 만들기
고객 일치 타겟팅 잠재고객은
firstAndThirdPartyAudiences.create
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다. 잠재고객은
퍼스트 파티 잠재고객으로 선언되어야 하며
audienceType
/
CUSTOMER_MATCH_CONTACT_INFO
또는
CUSTOMER_MATCH_DEVICE_ID
: 고객 일치 타겟팅 데이터는
union 필드 내의 적절한 필드를 사용하여 제공됨
members
다음은 새 연락처 정보 고객 일치 타겟팅을 만드는 방법의 예입니다. 제공된 해싱된 목록을 사용하여 가입 기간이 무제한인 잠재고객 전화번호:
자바
// 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']);
고객 일치 타겟팅 잠재고객의 멤버십 업데이트
타겟팅할 고객을 추가로 확보한 경우
갱신할 때 기존 잠재고객 멤버십을 사용하고 있거나 고객을 삭제하고 싶거나
기존 고객의 고객 데이터를 업데이트할 수 있습니다.
잠재고객에게
firstAndThirdPartyAudiences.editCustomerMatchMembers
드림
메서드를 사용하여 축소하도록 요청합니다. 다음을 사용하여 고객을 목록에 추가할 수 있습니다.
added_members
통합 필드를 사용하여
removed_members
공용체 필드가 있는 목록입니다.
단일
firstAndThirdPartyAudiences.editCustomerMatchMembers
드림
요청은 목록에서 회원을 추가 또는 삭제만 할 수 있습니다. 단일 요청 시도 중
두 작업을 모두 수행하면 INVALID_ARGUMENT
오류가 발생합니다.
다음은 단일 고객을 기존 연락처 정보, 제공된 우편 주소 데이터를 사용하는 고객 일치 타겟팅 잠재고객
자바
// 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'] );