আপলোড গ্রাহক ম্যাচ দর্শক

আপনি Display & Video 360 API ব্যবহার করে আপলোড করা গ্রাহকের যোগাযোগের তথ্য বা মোবাইল ডিভাইস আইডি ব্যবহার করে গ্রাহক ম্যাচ দর্শক তৈরি করতে পারেন। এই পৃষ্ঠাটি বর্ণনা করে যে কীভাবে একটি প্রাথমিক গ্রাহক ম্যাচ দর্শক তৈরি করতে হয় এবং ডিসপ্লে ও ভিডিও 360 API ব্যবহার করে বিদ্যমান দর্শকদের সাথে নতুন গ্রাহক ডেটা যুক্ত করতে হয়।

ব্যবহারকারীর ডেটা প্রস্তুত করুন

কাস্টমার ম্যাচ শ্রোতাদের তৈরি করতে ব্যবহৃত ব্যবহারকারীর ডেটা সংবেদনশীল এবং আপলোড করার আগে সঠিকভাবে প্রস্তুত করা প্রয়োজন।

হ্যাশ সংবেদনশীল তথ্য

সংবেদনশীল গ্রাহক যোগাযোগের তথ্য ব্যবহার করে কিছু গ্রাহক ম্যাচ দর্শক তৈরি করা হয়। ডিসপ্লে এবং ভিডিও 360-এর প্রয়োজন হয় যে সংবেদনশীল ডেটা আপলোড করার আগে SHA256 অ্যালগরিদম ব্যবহার করে হ্যাশ করা হয়৷ আপলোড করার আগে নিম্নলিখিত ডেটা ক্ষেত্রগুলি অবশ্যই হ্যাশ করতে হবে:

  • প্রথম নাম
  • পদবি
  • ইমেল ঠিকানা
  • ফোন নম্বর

জিপ কোড এবং দেশের কোড আপলোড করার আগে হ্যাশ করা উচিত নয়। আনহ্যাশ করা গ্রাহক ডেটা আপলোড করার চেষ্টা করার ফলে একটি ত্রুটি দেখা দেয়৷

ডেটা হ্যাশ করার আগে, নিম্নলিখিত শর্তগুলি নিশ্চিত করুন:

  • প্রথম নাম, পদবি এবং ইমেল ঠিকানা মান থেকে যেকোনো হোয়াইটস্পেস মুছে ফেলতে হবে।
  • সব মান ছোট হাতের করা আবশ্যক.
  • সমস্ত ফোন নম্বর অবশ্যই E.164 ফরম্যাট ব্যবহার করে ফরম্যাট করতে হবে এবং দেশের কলিং কোড অন্তর্ভুক্ত করতে হবে।

ব্যবহারকারীর ডেটা আপলোড করার সময়, অন্তর্ভুক্ত ব্যবহারকারীদের দ্বারা প্রদত্ত সম্মতির সংকেতগুলি পাস করতে প্রদত্ত ContactInfoList বা MobileDeviceIdList অবজেক্টের consent ক্ষেত্রগুলি ব্যবহার করুন৷

Consent অবজেক্টের যেকোনো একটি ক্ষেত্রকে CONSENT_STATUS_DENIED সেট করলে একটি ত্রুটি দেখা দেয়।

একটি একক firstAndThirdPartyAudiences.create বা firstAndThirdPartyAudiences.editCustomerMatchMembers অনুরোধে যোগ করা সমস্ত ব্যবহারকারীর জন্য সম্মতির সংকেত সেট করা আছে। বিভিন্ন সম্মতি সংকেত সহ ব্যবহারকারীদের আলাদা অনুরোধে আপলোড করতে হবে।

একটি গ্রাহক ম্যাচ দর্শক তৈরি করুন

firstAndThirdPartyAudiences.create পদ্ধতি ব্যবহার করে একটি গ্রাহক ম্যাচ দর্শক তৈরি করা যেতে পারে। শ্রোতাদের অবশ্যই একটি প্রথম-পক্ষের শ্রোতা হিসাবে ঘোষণা করতে হবে এবং CUSTOMER_MATCH_CONTACT_INFO বা CUSTOMER_MATCH_DEVICE_ID এর একটি audienceType থাকতে হবে। ইউনিয়ন ফিল্ড 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"])

পিএইচপি

// 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"])

পিএইচপি

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