광고 요청
모든 제품 광고 요청에는 컨텍스트의 placement 및 catalogId, 그리고 고객에게 표시하려는 maxNumberOfAds가 필요합니다. 또한 요청에 컨텍스트의 customerId 및 sessionId가 포함되어야 합니다.
검색 게재위치
검색 게재위치는 일반적으로 요청하기가 가장 쉽습니다. 아래 예제와 같이 요청에 searchTerm을 지정해야 합니다.
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",
"dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
"placement": "search",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"searchTerm": "chocolate",
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}카테고리 게재위치
카테고리 게재위치 시 요청 내역에 productFilters를 지정해야 합니다. 아래 예시에서는 카테고리 필터를 전송할 위치를 표시합니다.
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",
"dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
"placement": "category",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"productFilters": [
["category:Cupboard/Snacks"]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}추가 카테고리가 검토되므로 API 호출을 적절하게 업데이트해야 합니다.
모범 사례고객이 카테고리 심층 탐색 시 Epsilon Retail Media에 가장 낮은 수준의 카테고리를 보내는 것이 가장 좋습니다.
L1 + L2 + L3의 수준 3에 체인 요청을 지정하는 대신 L3 카테고리만 지정합니다.
교차 판매 카테고리 게재위치
교차 판매 카테고리 게재위치는 카테고리 게재위치와 요청 방식이 매우 유사합니다. 귀하는 광고 요청 시 정확한 카테고리를 지정하고 싶을 것입니다. 다음은 일반적으로 현재 사용 중인 페이지입니다. 요청의 productFilters에 카테고리를 지정하십시오. 아래 예시는 카테고리 필터를 전송할 위치를 표시합니다.
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",
"dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
"placement": "category-cross-sell",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"productFilters": [
["category:Cupboard/Snacks"]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}추가 카테고리가 검토되므로 API 호출을 적절하게 업데이트해야 합니다.
오가닉 및 교차 판매 카테고리 타게팅을 병합하시겠습니까?오가닉 및 교차 판매 카테고리 광고 요청을 하나의 게재위치로 통합하려는 경우 고객에게 제공할 통합 및 전달 로직을 구현해야 합니다. 이 작업은 통합 담당자의 책임이지만 필요 시 Epsilon Retail Media에서 도움을 드립니다.
일반적으로 오가닉 게재위치 후에 오가닉 카테고리 광고, 위치 및 카테고리 교차 판매 광고를 표시하는 것이 좋습니다.
광범위 일치 게재위치
홈 또는 결제 페이지와 같은 광범위한 게재위치에서는 요청에 productFilters 를 지정할 필요가 없습니다. 소매업체가 지정하려는 모든 필터(할인 판매, 신상품 등)를 productFilters 에 설정하여 Epsilon Retail Media가 요구 사항에 맞는 광고만 실행하도록 할 수 있습니다.
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",
"dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
"placement": "home",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"productFilters": [
[]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}요청 개선
검색, 카테고리 및 광범위한 일치 게재위치에서는 사용자 경험을 향상시키기 위해 아래의 개선사항을 고려해야 합니다.
페이지 매김 요청
제품 광고 생성 시 이전에 실행된 광고를 제외하기 위해 후속 요청에서 전송할 수 있는 memoryToken 을 받게 됩니다. 이후 이 memoryToken 을 후속 광고 요청에 포함시키면 Epsilon Retail Media는 동일한 컨텍스트에 대해 이전에 실행된 광고를 응답에서 제외합니다.
Please review Pagination prior to implementing.
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",
"dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
"placement": "search",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"searchTerm": "chocolate",
"memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0=",
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}필터링된 검색
고객이 검색을 필터링하는 경우 productFilters를 제공하도록 컨텍스트를 확장할 수 있습니다. 아래는 고객이 "찬장" 및 식단 제한인 "글루텐 프리" 카테고리를 기준으로 필터링하는 것을 보여주는 예시입니다. 이와 동일한 원칙을 모든 카테고리나 광범위한 일치 배치에 적용할 수 있습니다.
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",
"dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
"placement": "search",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"searchTerm": "chocolate",
"productFilters": [
["category:Cupboard"],["dietary:Gluten-free"]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}위치별 필터링
카탈로그에서 위치 필터를 동기화하는 경우, productFilters에서 고객의 상점 위치를 제공하도록 컨텍스트를 확장할 수 있습니다.
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",
"dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
"placement": "search",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"searchTerm": "chocolate",
"productFilters": [
["category:Cupboard"],["dietary:Gluten-free"],["location:Westenbury"]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}제품 광고 반응
모든 제품 광고 응답은 동일한 JSON 형식을 따릅니다. 제품 광고는 아래 예시와 같이 ads 배열로 반환됩니다.
{
"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="
}id 필드는 노출 및 클릭 보고서에서 사용되는 광고 ID입니다. position 필드는 Epsilon Retail Media 페이로드 내에서 위치를 정의합니다. 각 문자열에 대한 자세한 정보는 참조를 확인하십시오.
고정 테넌시 게재위치가 올바르게 표시되도록 하려면
position필드를 잘 읽고 준수해야 합니다.
마켓플레이스 sellerId
마켓플레이스 판매자를 온보딩하는 경우 반응에 광고별 추가 sellerId가 표시될 수 있습니다. 이것은 실행 중인 캠페인을 소유한 팀이 UI에 구성된 Seller Id를 가지고 있는 경우에만 나타납니다. 아래는 SellerId가 있는 광고와, 없는 광고의 예시입니다.
{
"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="
}If you’re unsure about the strings in this section, please visit the Product ad reference page.
디지털 서비스법
Epsilon Retail Media assists retailers in meeting their European Union (EU) Digital Services Act (DSA) obligations. The DSA establishes a unified set of rules across the EU, targeting the regulation of online content, transparent advertising, and disinformation. For more information, see Digital Services Act.
광고 요청 예시
{
"placement": "search-only",
"catalogId": "zesty-fruits-catalog",
"searchTerm": "lime",
"maxNumberOfAds": 5,
"options": {
"filterMode": "AndOr",
"includeAdvertiserInfo": true,
},
}
광고 응답 예시
{
"ads": [
{
"id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
"gtin": "7733636",
"discount": {
"amount": 0,
"minPrice": 0,
"maxPerCustomer": 0
},
"expiry": "2021-05-12T04:17:50.400902957Z",
"position": 1,
"metadata": {
"advertiserInfo": {
"advertiser": "Bob's advertising agency",
"onBehalfOf": "Brand company inc",
}
}
},
....
],
"banners": [],
"products": [],
"memoryToken": "85ykKVv-………"
}
