เพิ่มประสิทธิภาพการกำหนดเป้าหมายโฆษณา

เอกสารนี้สรุปแนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างโฆษณาผลิตภัณฑ์ในตำแหน่งการค้นหา หมวดหมู่ และการแสดงผลแบบกว้าง (บ้าน การชำระเงิน พิเศษ และอื่นๆ) การใช้กลยุทธ์เหล่านี้ทำให้โฆษณาของคุณมีความเกี่ยวข้องและกำหนดเป้าหมายมากขึ้น จึงเพิ่มการมีส่วนร่วมและความพึงพอใจของผู้ใช้ การปรับปรุงนี้ประกอบด้วยการแบ่งหน้า การค้นหาแบบกรอง และการกรองตามตำแหน่งสำหรับแนวทางการโฆษณาส่วนบุคคล

หากต้องการสร้างโฆษณาผลิตภัณฑ์โดยใช้ตำแหน่งการค้นหาและหมวดหมู่ โปรดดูหัวข้อต่อไปนี้:

แบ่งหน้าคําขอ

การแบ่งหน้าเป็นเทคนิคที่ใช้ในการจัดการชุดข้อมูลขนาดใหญ่โดยแบ่งออกเป็นหน้าหรือส่วนแยกกัน ในบริบทของการสร้างโฆษณาผลิตภัณฑ์ การแบ่งหน้าช่วยให้แน่ใจว่าผู้ใช้จะไม่ถูกครอบงำด้วยโฆษณาที่มากเกินไปในคราวเดียว และโฆษณาที่ดูก่อนหน้านี้จะไม่แสดงขึ้นซ้ำซ้อน

เมื่อคุณสร้างโฆษณาผลิตภัณฑ์ การตอบสนองจะรวม memoryTokenโทเค็นนี้ช่วยในการติดตามว่ามีการแสดงโฆษณาใดบ้าง โดยรวมถึงสิ่งนี้ด้วย memoryToken ในคำขอโฆษณาครั้งต่อ ๆ ไป คุณสามารถมั่นใจได้ว่าโฆษณาที่แสดงก่อนหน้านี้จะถูกแยกออกจากการตอบกลับโฆษณาใหม่ ซึ่งจะช่วยปรับปรุงประสบการณ์ผู้ใช้ด้วยการนำเสนอโฆษณาที่สดใหม่และเกี่ยวข้อง

  • คำขอเริ่มต้น: สร้างโฆษณาผลิตภัณฑ์และรับ memoryToken ในการตอบกลับ
  • คำขอภายหลัง: รวม memoryToken ในคำขอโฆษณาครั้งต่อ ๆ ไปเพื่อยกเว้นโฆษณาที่แสดงก่อนหน้านี้จากการตอบกลับ

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ การแบ่งหน้า

ขอพารามิเตอร์

เนื้อหาของคำขอควรเป็นออบเจ็กต์ JSON ที่มีฟิลด์ต่อไปนี้:

วัตถุประเภทคำอธิบาย
customerIdสตริง, จำเป็นตัวระบุที่ไม่ซ้ำกันสำหรับลูกค้า ข้อมูลนี้จัดทำโดยผู้ค้าปลีกของคุณ
sessionIdสตริง, จำเป็นตัวระบุเฉพาะสําหรับเซสชัน ข้อมูลนี้จำเป็นสำหรับการระบุแหล่งที่มาและจัดเตรียมโดยผู้ค้าปลีก
ตำแหน่งสตริง, จำเป็นบริบทที่โฆษณาแสดง (เช่น "การค้นหา")
ID แคตตาล็อกสตริง, จำเป็นตัวระบุที่ไม่ซ้ำกันสำหรับแค็ตตาล็อกผลิตภัณฑ์ที่มีการกรองผลิตภัณฑ์ คุณสามารถรับ CatalogID ได้จาก Retail Media UI ของ Epsilon หรือจากผู้ค้าปลีก
maxNumberOfAdsจํานวนเต็ม จําเป็นจำนวนโฆษณาสูงสุดที่จะแสดง
คำค้นหาสตริง จำเป็นสำหรับตำแหน่งการค้นหาคําที่จะค้นหาภายในแค็ตตาล็อก
หน่วยความจําโทเค็นสตริง, จำเป็นโทเค็นเพื่อยกเว้นโฆษณาที่แสดงก่อนหน้านี้
ตัวเลือกวัตถุ ไม่บังคับตัวเลือกเพิ่มเติม เช่น โหมดการกรอง AndOrหากระบุ ระบบจะใช้ทั้งเงื่อนไข "AND" และ "OR" เพื่อจำกัดผลการค้นหาให้แคบลง

ตัวอย่างคำขอ

ในตัวอย่างต่อไปนี้ คำขอโฆษณาเริ่มต้นมีไว้สำหรับตำแหน่งการค้นหาที่มีคำว่า "ช็อกโกแลต" ที่ memoryToken ถูกรวมอยู่ด้วยเพื่อให้แน่ใจว่าโฆษณาที่แสดงก่อนหน้านี้สำหรับข้อความค้นหาและบริบทเดียวกันจะไม่รวมอยู่ในคำตอบ ฟิลด์ options ออบเจ็กต์ระบุโหมดการกรอง และ maxNumberOfAds กำหนดขีดจำกัดสำหรับจำนวนโฆษณาที่จะสร้างในการตอบกลับ

การใช้ประโยชน์จากการแบ่งหน้าและโทเค็นหน่วยความจำจะช่วยให้คุณสามารถมอบประสบการณ์โฆษณาแบบไดนามิกและน่าดึงดูดใจยิ่งขึ้นให้กับผู้ใช้ของคุณ ซึ่งเป็นการหลีกเลี่ยงความซ้ำซ้อนและเพิ่มความเกี่ยวข้อง

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0=",
    "options": {
                         "filterMode": "AndOr"
                             },
    "maxNumberOfAds": 3    
}

ตัวอย่างการตอบสนอง

การตอบกลับโฆษณาผลิตภัณฑ์ทั้งหมดเป็นไปตามรูปแบบ JSON มาตรฐาน โฆษณาผลิตภัณฑ์จะถูกส่งกลับในอาร์เรย์โฆษณา

  • id: รหัสโฆษณาที่ใช้ในรายงานการแสดงผลและการคลิก
  • GTIN: หมายเลขสินค้าการค้าสากลสำหรับผลิตภัณฑ์
  • ส่วนลด: รายละเอียดเกี่ยวกับส่วนลดใด ๆ ที่เกี่ยวข้องกับโฆษณา
    • จำนวน: จำนวนส่วนลด
    • minPrice: ราคาขั้นต่ำสำหรับส่วนลด
    • maxPerCustomer: จำนวนสินค้าสูงสุดที่ลูกค้าสามารถซื้อพร้อมส่วนลด
  • หมดอายุ: วันที่และเวลาหมดอายุของโฆษณา
  • ตำแหน่ง: ตําแหน่งของโฆษณาในเพย์โหลดตอบกลับ อ่านและรับษาฟิลด์ตำแหน่งไว้เพื่อให้แน่ใจว่าตำแหน่งผู้เช่าคงที่ปรากฏอย่างถูกต้อง
{
    "ads": [
        {
            "id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
            "gtin": "7733636",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400902957Z",
            "position": 1
        },
        {
            "id": "display_NzsHqP0_iQedlo9VnrO2vqkwi_k3NzMzNjI4",
            "gtin": "7733628",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400908257Z",
            "position": 2
        },
        {
            "id": "display_xNeShqidaMuEqiJ0zNdt-Gzygjs3NzE0MTA3",
            "gtin": "7714107",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400912929Z",
            "position": 3
        },
        {
            "id": "display_3rGiryPskhQusmsf43nghbQwnqo3NzMzNjU3",
            "gtin": "7733657",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400917769Z",
            "position": 4
        }
    ],
    "banners": [],
    "products": [],
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}

เมื่อเริ่มต้นผู้ขายในตลาด จะมีการเพิ่มเติม sellerId นี้อาจปรากฏในการตอบกลับของโฆษณา ฟิลด์นี้จะถูกรวมเฉพาะในกรณีที่ทีมเจ้าของแคมเปญได้กำหนดค่ารหัสผู้ขายใน Epsilon Retail Media UI

ตัวอย่างที่มีรหัสผู้ขาย

{
    "ads": [
        {
            "id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
            "gtin": "7733636",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400902957Z",
            "position": 1
        },
        {
            "id": "display_NzsHqP0_iQedlo9VnrO2vqkwi_k3NzMzNjI4",
            "gtin": "7733628",
            "sellerId": "2834-ascre-2wcr4",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400908257Z",
            "position": 2
        }
    ],
    "banners": [],
    "products": [],
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}

การค้นหาที่กรองแล้ว

เมื่อลูกค้าใช้ตัวกรองในการค้นหา คุณสามารถปรับปรุงบริบทการสืบค้นของพวกเขาโดยใช้ productFilters. วิธีนี้ช่วยให้คุณกําหนดเป้าหมายโฆษณาได้แม่นยํายิ่งขึ้นตามหมวดหมู่หรือแอตทริบิวต์ที่เฉพาะเจาะจง ด้านล่างนี้ เราแสดงตัวอย่างวิธีการกรองตามหมวดหมู่ "ตู้" และข้อจํากัดด้านอาหาร "ปราศจากกลูเตน" วิธีการนี้สามารถปรับให้เข้ากับหมวดหมู่ใดก็ได้หรือตําแหน่งการจับคู่แบบกว้าง

ขอพารามิเตอร์

เนื้อหาของคำขอควรเป็นออบเจ็กต์ JSON ที่มีฟิลด์ต่อไปนี้:

วัตถุประเภทคำอธิบาย
customerIdสตริง, จำเป็นตัวระบุที่ไม่ซ้ำกันสำหรับลูกค้า ข้อมูลนี้จัดทำโดยผู้ค้าปลีกของคุณ
sessionIdสตริง, จำเป็นตัวระบุเฉพาะสําหรับเซสชัน ข้อมูลนี้จำเป็นสำหรับการระบุแหล่งที่มาและจัดเตรียมโดยผู้ค้าปลีก
ตำแหน่งสตริง, จำเป็นบริบทที่โฆษณาแสดง (เช่น "การค้นหา")
ID แคตตาล็อกสตริง, จำเป็นตัวระบุที่ไม่ซ้ำกันสำหรับแค็ตตาล็อกผลิตภัณฑ์ที่มีการกรองผลิตภัณฑ์ คุณสามารถรับ CatalogID ได้จาก Retail Media UI ของ Epsilon หรือจากผู้ค้าปลีก
maxNumberOfAdsจํานวนเต็ม จําเป็นจำนวนโฆษณาสูงสุดที่จะแสดง
คำค้นหาสตริง จำเป็นสำหรับตำแหน่งการค้นหาคําที่จะค้นหาภายในแค็ตตาล็อก
productFiltersอาร์เรย์ จำเป็นอาร์เรย์ที่มีตัวกรองหมวดหมู่
ตัวเลือกวัตถุ ไม่บังคับตัวเลือกเพิ่มเติม เช่น โหมดการกรอง AndOrหากระบุ ระบบจะใช้ทั้งเงื่อนไข "AND" และ "OR" เพื่อจำกัดผลการค้นหาให้แคบลง

ตัวอย่างคำขอ

คำขอตัวอย่างใช้วิธี HTTP POST เพื่อส่งออบเจ็กต์ JSON ไปยังปลายทางที่ระบุ ฟิลด์ productFilters อาร์เรย์ระบุว่าการค้นหาควรกรองตามหมวดหมู่ "ตู้" และข้อจำกัดด้านอาหาร "ปราศจากกลูเตน" ออบเจ็กต์ตัวเลือกตั้งค่า filterMode ถึง AndOrทำให้สามารถผสมผสานตัวกรองได้อย่างยืดหยุ่น ที่ maxNumberOfAds ฟิลด์จำกัดจำนวนโฆษณาที่แสดงเป็นสามรายการ

เมื่อทําตามโครงสร้างนี้ คุณจะสามารถสร้างแคมเปญโฆษณาที่ตรงเป้าหมายโดยเกี่ยวข้องกับเกณฑ์การค้นหาของลูกค้ามากขึ้น ด้วยเหตุนี้จึงช่วยปรับปรุงประสบการณ์โดยรวมของผู้ใช้

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "productFilters": [
     	 ["category:Cupboard"],["dietary:Gluten-free"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "maxNumberOfAds": 3
}

การกรองตามสถานที่

เมื่อซิงโครไนซ์ตัวกรองสถานที่ในแค็ตตาล็อกของคุณ คุณสามารถขยายบริบทของคุณเพื่อรวมที่ตั้งร้านค้าของลูกค้าไว้ใน productFilters- คุณลักษณะนี้ช่วยให้คุณสามารถกำหนดเป้าหมายโฆษณาตามที่ตั้งร้านค้าเฉพาะ ซึ่งจะช่วยเพิ่มความเกี่ยวข้องของโฆษณาที่แสดงต่อลูกค้า

ขอพารามิเตอร์

เนื้อหาของคำขอควรเป็นออบเจ็กต์ JSON ที่มีฟิลด์ต่อไปนี้:

วัตถุประเภทคำอธิบาย
customerIdสตริง, จำเป็นตัวระบุที่ไม่ซ้ำกันสำหรับลูกค้า ข้อมูลนี้จัดทำโดยผู้ค้าปลีกของคุณ
sessionIdสตริง, จำเป็นตัวระบุเฉพาะสําหรับเซสชัน ข้อมูลนี้จำเป็นสำหรับการระบุแหล่งที่มาและจัดเตรียมโดยผู้ค้าปลีก
ตำแหน่งสตริง, จำเป็นบริบทที่โฆษณาแสดง (เช่น "การค้นหา")
ID แคตตาล็อกสตริง, จำเป็นตัวระบุที่ไม่ซ้ำกันสำหรับแค็ตตาล็อกผลิตภัณฑ์ที่มีการกรองผลิตภัณฑ์ คุณสามารถรับ CatalogID ได้จาก Retail Media UI ของ Epsilon หรือจากผู้ค้าปลีก
maxNumberOfAdsจํานวนเต็ม จําเป็นจำนวนโฆษณาสูงสุดที่จะแสดง
คำค้นหาสตริง จำเป็นสำหรับตำแหน่งการค้นหาคําที่จะค้นหาภายในแค็ตตาล็อก
productFiltersอาร์เรย์ จำเป็นอาร์เรย์ที่มีตัวกรองหมวดหมู่
ตัวเลือกวัตถุ ไม่บังคับตัวเลือกเพิ่มเติม เช่น โหมดการกรอง AndOrหากระบุ ระบบจะใช้ทั้งเงื่อนไข "AND" และ "OR" เพื่อจำกัดผลการค้นหาให้แคบลง

ตัวอย่างคำขอ

คำขอตัวอย่างใช้วิธี HTTP POST เพื่อส่งออบเจ็กต์ JSON ไปยังปลายทางที่ระบุ

  • AD_ID productFilters อาร์เรย์ระบุว่าควรกรองการค้นหาตาม:
    • หมวดหมู่: "ตู้"
    • ข้อจำกัดด้านอาหาร: "ปราศจากกลูเตน"
    • ที่ตั้ง: "เวสเทนเบอรี"
  • ออบเจ็กต์ตัวเลือกตั้งค่า filterMode ถึง AndOrทำให้สามารถผสมผสานตัวกรองได้อย่างยืดหยุ่น
  • AD_ID maxNumberOfAds ฟิลด์จำกัดจำนวนโฆษณาที่แสดงเป็นสามรายการ

เมื่อทําตามโครงสร้างนี้ คุณจะสามารถสร้างแคมเปญโฆษณาที่ตรงเป้าหมายโดยเกี่ยวข้องกับเกณฑ์การค้นหาของลูกค้ามากขึ้น ด้วยเหตุนี้จึงช่วยปรับปรุงประสบการณ์โดยรวมของผู้ใช้

POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9", 
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "productFilters": [
     	 ["category:Cupboard"],["dietary:Gluten-free"],["location:Westenbury"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "maxNumberOfAds": 3
}