تحميل جماهير مطابقة العملاء

يمكنك إنشاء شرائح جمهور "مطابقة العملاء" باستخدام جهات اتصال العملاء المحمَّلة المعلومات أو أرقام تعريف الأجهزة المحمولة باستخدام الشاشة Video 360 API: تصف هذه الصفحة كيف لإنشاء جمهور مطابقة عملاء أولي وإلحاق بيانات عملاء جديدة جمهور حالي يستخدم "الشبكة الإعلانية" Video 360 API:

إعداد بيانات المستخدمين

بيانات المستخدمين المستخدَمة لتعبئة شرائح جمهور "مطابقة العملاء" حسّاسة ويجب التعامل معها بشكل صحيح قبل تحميلها.

تجزئة البيانات الحسّاسة

يتم إنشاء بعض شرائح جمهور "مطابقة العملاء" باستخدام جهة اتصال حساسة للعملاء المعلومات. العرض يتطلّب الفيديو 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 يجب أن تكون بيانات "مطابقة العملاء" باستخدام الحقل المناسب داخل حقل الاتحاد members

في ما يلي مثال على كيفية إنشاء معلومات اتصال جديدة لميزة "مطابقة العملاء" جمهور ذو مدة عضوية غير محدودة باستخدام قائمة مجزّأة متوفرة أرقام الهواتف:

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

تعديل عضوية جمهور "مطابقة العملاء"

إذا حدّدت عملاء إضافيين ترغب في استهدافهم، عليك تجديد تسجيل العملاء الاشتراكات الحالية في الجمهور أو تريد إزالة عملاء من شريحة جمهور معيّنة، يمكنك تعديل بيانات العميل لعميل حالي مطابقة الجمهور مع firstAndThirdPartyAudiences.editCustomerMatchMembers . يمكنك إضافة عملاء إلى قائمة باستخدام added_members وإزالة العملاء من تحتوي على حقل اتحاد removed_members.

أغنية واحدة firstAndThirdPartyAudiences.editCustomerMatchMembers طلب إضافة أعضاء إلى القائمة أو إزالتهم منها. يحاول طلب واحد يؤدي تنفيذ كلا الإجراءين إلى خطأ INVALID_ARGUMENT.

في ما يلي مثال على كيفية إضافة عميل واحد كعضو إلى حساب حالي معلومات الاتصال جمهور مطابقة العملاء باستخدام بيانات العنوان البريدي المقدمة:

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