Platform Web SDK에서 Offer decisioning 사용

NOTE
선택한 사용자에 대한 조기 액세스에서 Adobe Experience Platform Web SDK의 Offer decisioning을 사용할 수 있습니다. 일부 조직에서는 이 기능을 사용할 수 없습니다.

Adobe Experience Platform Web SDK은(는) Offer Decisioning에서 관리되는 개인화된 오퍼를 제공하고 렌더링할 수 있습니다. offer decisioning UI(사용자 인터페이스) 또는 API를 사용하여 오퍼 및 기타 관련 개체를 만들 수 있습니다.

전제 조건

  • 조직이 Edge Decisioning에 대해 활성화되었습니다.
  • 오퍼, 활동 생성됨
  • 데이터 스트림이 게시됨

용어

offer decisioning 작업 시 다음 용어를 이해하는 것이 중요합니다. 자세한 내용을 알고 추가 약관을 보려면 Offer decisioning 용어집을 참조하세요.

  • 결정 범위: Offer decisioning의 경우 결정 범위는 offer decisioning 서비스에서 오퍼를 제안하는 데 사용할 활동 및 배치 ID가 포함된 JSON의 Base64로 인코딩된 문자열입니다.

    결정 범위 JSON:

    code language-json
    {
      "activityId":"xcore:offer-activity:11cfb1fa93381aca",
      "placementId":"xcore:offer-placement:1175009612b0100c"
    }
    

    결정 범위 Base64 인코딩 문자열:

    code language-json
    "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
    
    note tip
    TIP
    UI의 활동 개요 페이지에서 결정 범위 값을 복사할 수 있습니다.

    결정 복사 설정.

  • 데이터스트림: 자세한 내용은 데이터스트림 설명서를 참조하십시오.

  • ID: 자세한 내용은 Platform Web SDK에서 ID 서비스를 사용하는 방법에 대한 개요를 설명하는 이 설명서를 참조하십시오.

활성화 Offer decisioning

offer decisioning을 활성화하려면 다음 단계를 수행하십시오.

  1. 데이터 스트림에서 Adobe Experience Platform을 사용하도록 설정하고 "Offer decisioning" 상자를 선택합니다.

    offer-decisioning-edge-config

  2. 지침에 따라 SDK를 설치하십시오(SDK는 독립 실행형으로 또는 UI를 통해 설치할 수 있습니다.). 자세한 내용은 태그 빠른 시작 안내서)를 참조하십시오.

  3. personalization.decisionScopes을(를) 사용하여 Offer decisioning에 대한 SDK를 구성합니다. 추가적인 Offer decisioning 관련 단계는 아래에 나와 있습니다.

    • 독립 실행형 SDK 설치

      1. personalization.decisionScopes(으)로 "sendEvent" 작업 구성
      code language-javascript
      alloy("sendEvent", {
        ...
        "personalization": {
          "decisionScopes": [
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIxYWIwOWMxM2JkZDIyNCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMWFiMDZhODRkMDViMTEifQ==",
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIxYWIyNWI5NTUwNWIxZiIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMWFiMjFmOTQzMDE0MmIifQ=="
          ]
        }
      });
      
    • 태그를 통해 SDK 설치

      1. 태그 속성 만들기

      2. 포함 코드 추가

      3. "데이터스트림" 드롭다운에서 구성을 선택하여 생성한 데이터스트림으로 Platform Web SDK 확장을 설치하고 구성합니다. 확장에 대한 설명서를 참조하세요.

        install-aep-web-sdk-extension

        configure-aep-web-sdk-extension

      4. 필요한 데이터 요소를 만듭니다. 최소한 Platform Web SDK ID 맵 및 Platform Web SDK XDM 개체 데이터 요소를 만들어야 합니다.

        identity-map-data-element

        xdm-object-data-element

      5. 규칙을 만듭니다.

        • Platform Web SDK 이벤트 보내기 작업을 추가하고 해당 작업의 구성에 관련 decisionScopes을(를) 추가합니다.

        send-event-action-decisionScopes

      6. 구성한 모든 관련 규칙, 데이터 요소 및 확장이 포함된 라이브러리를 만들고 게시

샘플 요청 및 응답

1개의 decisionScopes

요청

{
  "events": [
    {
      "xdm": {
        "identityMap": {
          "ECID": [
            {
              "id": "91133425615229052182584359620783097099"
            }
          ]
        }
      },
      "query": {
        "personalization": {
          "decisionScopes": [
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
          ]
        }
      }
    }
  ]
}
속성
필수 여부
설명
제한
identityMap
ID 서비스 설명서를 참조하세요.
요청당 하나의 ID.
{ "identityMap": { "ECID": [ { "id": "91133425615229052182584359620783097099" } ] } } 질문에 답합니다.

참고: 사용자는 API 호출에 ECID 매개 변수를 포함할 필요가 없습니다. 이 매개 변수는 필요한 경우 호출에 자동으로 추가됩니다.
decisionScopes
활동 및 배치 ID가 포함된 JSON의 Base64 인코딩 문자열 배열입니다.
요청당 최대 30 decisionScopes.
"decisionScopes": ["eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="]

응답

{
  "requestId": "94c4f2f1-9218-43ce-afd3-eb0d853c5174",
  "handle": [
    {
      "payload": [
        {
          "id": "2862bb89-5df2-4bc6-85c2-d8f7e1a091de",
          "scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
          "activity": {
            "id": "xcore:offer-activity:11cfb1fa93381aca",
            "etag": "2"
          },
          "placement": {
            "id": "xcore:offer-placement:1175009612b0100c",
            "etag": "1"
          },
          "items": [
            {
              "id": "xcore:personalized-offer:124cc332095cfa74",
              "schema": "https://ns.adobe.com/experience/offer-management/content-component-html",
              "etag": "1",
              "data": {
                "id": "xcore:personalized-offer:124cc332095cfa74",
                "format": "text/html",
                "language": [
                  "en-US"
                ],
                "content": "<p>20% Off on shipping</p>",
                "characteristics": {
                  "foo": "bar",
                  "foo1": "bar1"
                }
              }
            }
          ]
        }
      ],
      "type": "personalization:decisions",
      "eventIndex": 0
    }
  ]
}
속성
설명
scope
제안된 오퍼의 원인이 되는 결정 범위입니다.
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
activity.id
오퍼 활동에 대한 고유 ID.
"id": "xcore:offer-activity:11cfb1fa93381aca"
placement.id
오퍼 배치에 대한 고유 ID.
"id": "xcore:offer-placement:1175009612b0100c"
items.id
제안된 오퍼의 ID입니다.
"id": "xcore:personalized-offer:124cc332095cfa74"
schema
제안된 오퍼와 연관된 콘텐츠의 스키마.
"schema": "https://ns.adobe.com/experience/offer-management/content-component-html"
data.id
제안된 오퍼의 ID입니다.
"id": "xcore:personalized-offer:124cc332095cfa74"
format
제안된 오퍼와 연관된 콘텐츠의 형식입니다.
"format": "text/html"
language
제안된 오퍼의 콘텐츠와 연관된 언어의 배열입니다.
"language": [ "en-US" ]
content
문자열 형식으로 제안된 오퍼와 연결된 콘텐츠.
"content": "<p style="color:red;">20% Off on shipping</p>"
deliveryUrl
제안된 오퍼와 연결된 이미지 컨텐츠(URL 형식).
"deliveryURL": "https://image.jpeg"
characteristics
JSON 오브젝트 형식으로 제안된 오퍼와 연관된 특성입니다.
"characteristics": { "foo": "bar", "foo1": "bar1" }

여러 decisionScopes

요청

{
  "events": [
    {
      "xdm": {
        "identityMap": {
          "ECID": [
            {
              "id": "91133425615229052182584359620783097099"
            }
          ]
        }
      },
      "query": {
        "personalization": {
          "decisionScopes": [
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyMjA4YjNhODc0MDU1OCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMjIwNDUyOTUxNGEyYzAifQ==",
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyYzkxMzg1Mjc2MDE4YyIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMzMxZjU2MTYyYWEyZjcifQ=="
          ]
        }
      }
    }
  ]
}
속성
필수 여부
설명
제한
identityMap
ID 서비스 설명서를 참조하세요.
요청당 하나의 ID.
{ "identityMap": { "ECID": [ { "id": "91133425615229052182584359620783097099" } ] } } 질문에 답합니다.

참고: 사용자는 API 호출에 ECID 매개 변수를 포함할 필요가 없습니다. 이 매개 변수는 필요한 경우 호출에 자동으로 추가됩니다.
decisionScopes
활동 및 배치 ID가 포함된 JSON의 Base64 인코딩 문자열 배열입니다.
요청당 최대 30 decisionScopes.
"decisionScopes":["eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==", "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyMjA4YjNhODc0MDU1OCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMjIwNDUyOTUxNGEyYzAifQ=="

응답

{
  "requestId": "94c4f2f1-9218-43ce-afd3-eb0d853c5174",
  "handle": [
    {
      "payload": [
        {
          "id": "a2804dfb-a0ec-4df9-8311-59d3ecdeb642",
          "scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MTEyMyIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDExMjMifQ==",
          "activity": {
            "id": "xcore:offer-activity:11cfb1fa93381123",
            "etag": "1"
          },
          "placement": {
            "id": "xcore:offer-placement:1175009612b01123",
            "etag": "3"
          },
          "items": [
            {
              "id": "xcore:personalized-offer:11e36d4a22954123",
              "schema": "https://ns.adobe.com/experience/offer-management/content-component-text",
              "etag": "2",
              "data": {
                "id": "xcore:personalized-offer:11e36d4a22954123",
                "format": "text/text",
                "language": [
                  "en"
                ],
                "content": "20% Off on shipping",
                "characteristics": {
                  "foo2": "bar2"
                }
              }
            }
          ]
        },
        {
          "id": "a2804dfb-a0ec-4df9-8311-59d3ecdeb642",
          "scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
          "activity": {
            "id": "xcore:offer-activity:11cfb1fa93381aca",
            "etag": "2"
          },
          "placement": {
            "id": "xcore:offer-placement:1175009612b0100c",
            "etag": "1"
          },
          "items": [
            {
              "id": "xcore:personalized-offer:11e36d4a2295415d",
              "schema": "https://ns.adobe.com/experience/offer-management/content-component-imagelink",
              "etag": "1",
              "data": {
                "id": "xcore:personalized-offer:11e36d4a2295415d",
                "format": "image/png",
                "language": [
                  "en"
                ],
                "deliveryURL": "https://image.jpeg",
                "characteristics": {
                  "foo": "bar",
                  "foo1": "bar1"
                }
              }
            }
          ]
        }
      ],
      "type": "personalization:decisions",
      "eventIndex": 0
    }
  ]
}
속성
설명
scope
제안된 오퍼의 원인이 되는 결정 범위입니다.
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
activity.id
오퍼 활동에 대한 고유 ID.
"id": "xcore:offer-activity:11cfb1fa93381123"
placement.id
오퍼 배치에 대한 고유 ID.
"xcore:offer-placement:1175009612b01123"
items.id
제안된 오퍼의 ID입니다.
"id": "xcore:personalized-offer:11e36d4a22954123"
schema
제안된 오퍼와 연관된 콘텐츠의 스키마.
"schema": "https://ns.adobe.com/experience/offer-management/content-component-text"
data.id
제안된 오퍼의 ID입니다.
"id": "xcore:personalized-offer:11e36d4a22954123"
format
제안된 오퍼와 연관된 콘텐츠의 형식입니다.
"format": "text/text"
language
제안된 오퍼의 콘텐츠와 연관된 언어의 배열입니다.
"language": [ "en-US" ]
content
문자열 형식으로 제안된 오퍼와 연결된 콘텐츠.
"content": "<p style="color:red;">20% Off on shipping</p>"
deliveryUrl
제안된 오퍼와 연결된 이미지 컨텐츠(URL 형식).
"deliveryURL": "https://image.jpeg"
characteristics
JSON 오브젝트 형식으로 제안된 오퍼와 연관된 특성입니다.
"characteristics": { "foo": "bar", "foo1": "bar1" }

제한 사항

일부 오퍼 제한 사항은 현재 모바일 Edge Network 워크플로에서 지원되지 않습니다(예: 한도). 한도 필드 값은 모든 사용자에게 오퍼를 제공할 수 있는 횟수를 지정합니다. 자세한 내용은 오퍼 자격 규칙 및 제약 조건 설명서를 참조하세요.

recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636