مخاطبین مطابقت مشتری را بارگذاری کنید

می‌توانید با استفاده از اطلاعات تماس مشتری آپلود شده یا شناسه‌های دستگاه تلفن همراه با استفاده از Display & Video 360 مخاطبین مطابقت مشتری ایجاد کنید. این صفحه نحوه ایجاد یک مخاطب اولیه مطابقت مشتری و افزودن داده‌های مشتری جدید به مخاطبان موجود با استفاده از Display & Video 360 API را شرح می‌دهد.

داده های کاربر را آماده کنید

داده های کاربری مورد استفاده برای پر کردن مخاطبان مطابقت مشتری حساس است و باید قبل از آپلود به درستی آماده شود.

هش داده های حساس

برخی از مخاطبان مطابقت مشتری با استفاده از اطلاعات تماس حساس مشتری ایجاد می شوند. Display & 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 داشته باشد. داده های تطابق مشتری باید با استفاده از فیلد مناسب در 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()
);

پایتون

# 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()
);

پایتون

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