마케팅 API를 사용하면 고객 정보를 활용해 맞춤 타겟을 빌드할 수 있습니다. 여기에는 이메일 주소, 전화번호, 이름, 생년월일, 성별, 위치, 앱 사용자 ID, 페이지 범위 사용자 ID, Apple 광고 ID(IDFA) 또는 Android 광고 ID가 포함됩니다.
비즈니스 관리자 계정 또는 단순히 비즈니스 계정으로 불리기도 하는 Meta 비즈니스 계정의 이름이 비즈니스 포트폴리오로 변경됩니다. 이 변경 사항은 Meta 테크놀로지 전반에 점진적으로 적용될 예정입니다. 해당 변경 사항은 겉치레에 불과하며, Meta 비즈니스 계정 ID(비즈니스 포트폴리오 ID)에는 영향을 미치지 않습니다.
비즈니스의 데이터 소유자는 이 데이터를 만들고 관리해야 할 책임이 있습니다. 여기에는 고객 관계 관리(CRM) 시스템의 정보가 포함됩니다. 타겟을 만들 때는 개인정보를 보호하기 위해 데이터를 해시된 형식으로 공유해야 합니다. 데이터 해싱 및 정규화를 참조하세요. Meta는 이를 자사에서 보유한 해시된 데이터와 비교하여 Facebook 사용자를 광고 타겟에 추가해야 할지를 확인합니다.
타겟에 기록을 무제한으로 추가할 수 있지만 한 번에 추가할 수 있는 최대 수는 10,000개입니다. 맞춤 타겟의 변경 사항은 즉시 적용되지 않으며 일반적으로 최대 24시간 소요됩니다. 삭제를 요청한 기록 수 및/또는 계정에 보유한 맞춤 타겟 수에 따라 이 요청을 처리하는 데 걸리는 시간이 늘어납니다.
광고주가 타겟을 생성하고 관리하는 방법을 개선하기 위해 2년 넘게 활성화된 광고 세트에서 사용되지 않은 고객 파일 맞춤 타겟은 삭제 플래그가 수시로 표시됩니다. Facebook에서 조치를 취하기 전에 지침을 제공해야 합니다. 타겟이 '만료 타겟' 단계로 이동하여 플래그가 표시되면 활성화된 광고 세트에서 플래그된 타겟을 사용할지(타겟을 유지하라는 지침으로 간주), 활성화된 광고 세트에서 플래그된 타겟을 사용하지 않을지(타겟을 삭제하라는 지침으로 간주) 결정하여 Facebook에 지침을 제공해야 합니다. 자세한 내용은 맞춤 타겟 개요 문서를 참조하세요.
전환 API를 사용하여 전환 이벤트를 공유하면 추가 데이터 업로드 없이 맞춤 타겟을 위한 웹사이트를 만들 수 있습니다. 그러나 지원되는 고객 정보를 계속 업로드하여 고객 파일 맞춤 타겟을 만들 수 있습니다.
새로운 Replace API는 타겟의 기존 사용자를 완전히 삭제하고 새로운 사용자 세트로 바꿉니다. Replace API로 타겟을 업데이트하더라도 광고가 학습 단계로 돌아가지 않습니다.
API 호출에서 subtype=CUSTOM
과 customer_file_source
를 지정합니다.
curl -X POST \
-F 'name="My new Custom Audience"' \
-F 'subtype="CUSTOM"' \
-F 'description="People who purchased on my website"' \
-F 'customer_file_source="USER_PROVIDED_ONLY"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/customaudiences
이름 | 설명 |
---|---|
| 맞춤 타겟에서 원래 고객 정보를 수집하던 방법을 설명합니다.
|
| 맞춤 타겟 이름 |
| 맞춤 타겟 설명 |
| 맞춤 타겟 유형 |
/{audience_id}/users
엔드포인트에 대한 POST
API 호출을 사용하여 맞춤 타겟에 추가하고자 하는 사용자 리스트를 지정합니다.
이름 | 설명 |
---|---|
| 필수 예 { "session_id":9778993, "batch_seq":10, "last_batch_flag":true, "estimated_num_total":99996 } |
| 필수 예 { "schema":"EMAIL_SHA256", "data": [ ["<HASHED_DATA>"], ["<HASHED_DATA>"], ["<HASHED_DATA>"] ] } |
2023년 6월 1일 당일 또는 이후에 고객 리스트 맞춤 타겟을 통해 캘리포니아 거주자에 대해 제한된 데이터 사용을 활성화하려면, 신규 타겟을 업로드하거나 제한적 데이터 사용 플래그로 기존 타겟을 업데이트해야 합니다. 타겟과 사람들의 제한된 데이터 사용 상태를 필요에 따라 정기적으로 업데이트하고 유지관리하세요.
하나의 타겟에서 제한된 데이터 사용 플래그를 한 사용자에게 적용하더라도 다른 타겟에도 자동으로 적용되지는 않습니다. 광고주가 자신이 선택하는 기준에 따라 별도로 기존의 고객 리스트 맞춤 타겟 각각을 관리해야 하듯이, 제한된 데이터 사용 플래그는 광고에 사용하는 각 타겟에 별도로 적용해야 합니다.
기록에 대해 명시적으로 LDU
를 활성화하지 않으려면 빈 data_processing_options
배열을 전송하거나 페이로드에서 해당 필드를 삭제할 수 있습니다. 빈 배열의 예:
{ "payload": { "schema": [ "EMAIL", "DATA_PROCESSING_OPTIONS" ], "data": [ [ "<HASHED_DATA> ", [] ] ] } }
명시적으로 LDU
를 활성화하고 (해당 기록의 주와 국가를 포함하지 않고) Meta가 위치를 확인하도록 하려면 각 기록에 대해 LDU
를 포함하는 배열을 지정합니다.
{ "payload": { "schema": [ "EMAIL", "DATA_PROCESSING_OPTIONS" ], "data": [ [ "<HASHED_DATA> ", ["LDU"] ] ] } }
LDU를 활성화하고 위치를 수동으로 지정하는 방법은 다음과 같습니다.
{ "customer_consent": true, "payload": { "schema": [ "EMAIL", "DATA_PROCESSING_OPTIONS", "DATA_PROCESSING_OPTIONS_COUNTRY", "DATA_PROCESSING_OPTIONS_STATE" ], "data": [ [ "<HASHED_DATA>", ["LDU"], 1, 1000 ] ] } }
session
필드이름 | 설명 |
---|---|
| 필수 항목 |
| 필수 항목 |
| 필수 항목 지속적 대체 세션에 대한 모든 배치를 제공하는 시스템을 나타냅니다. |
| 선택 사항 |
성공한 경우 응답에 다음 필드를 포함한 JSON 개체가 포함됩니다.
이름 | 설명 |
---|---|
| 타겟 ID |
| 전달한 세션 ID |
| 이 세션에서 지금까지 수신된 총 사용자 수 |
| 잘못된 해시로 전송된 항목 수. 이러한 항목은 일치 사항을 반환하지 않으며 맞춤 타겟에 추가되지 않습니다. 정확한 숫자는 아니지만 일치하지 않는 사용자 수 범위를 나타냅니다. |
| 현재 요청에서 발견된 잘못된 항목 샘플 최대 100개 |
맞춤 타겟을 비즈니스 개체와 공유에 대해 자세히 알아보세요.
/{audience_id}/users
엔드포인트에 대한 DELETE
API 호출을 사용하여 맞춤 타겟에서 삭제할 사용자 리스트를 지정합니다.
curl -X DELETE \ --data-urlencode 'payload={ "schema": "EMAIL_SHA256", "data": [ "<HASHED_DATA>", "<HASHED_DATA>", "<HASHED_DATA>" ] }' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
또는 method
매개변수를 추가하고 타겟 멤버를 추가하는 데 사용한 POST
요청에서 DELETE
로 설정할 수 있습니다.
EXTERN_ID
를 사용하여 리스트에서 사용자를 삭제할 수도 있습니다(가능한 경우).
curl -X DELETE \ --data-urlencode 'payload={ "schema": "EXTERN_ID", "data": [ "<ID>", "<ID>", "<ID>" ] }' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
이 엔드포인트를 사용하여 광고 계정 전체에 걸쳐 모든 맞춤 타겟에서 사용자 리스트를 삭제할 수 있습니다.
이 정보가 처리되지 않은 이유가 몇 가지 있을 수 있습니다. 예를 들어 비즈니스 포트폴리오에서 광고 계정을 소유하고 있지 않은 경우 아직 맞춤 타겟 약관을 수락하지 않았거나 정보가 사용자와 일치하지 않습니다.
계정 센터 계정을 삭제하려면 사용자 업데이트에서와 같은 필드를 포함하고 다음으로 HTTP DELETE
를 호출합니다.
https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/usersofanyaudience
기록의 일치율을 높이려면 개별 키로 구성된 배열 형태로 여러 키를 제공합니다(예: [EXTERN_ID
, LN
, FN
, EMAIL
]). EXTERN_ID
를 해시할 필요는 없지만 이메일, 이름과 같은 모든 개인 식별 정보를 해시해야 합니다. 자세한 내용은 데이터 해싱 및 정규화를 참조하세요.
기록에 멀티 키의 일부 또는 전체를 제공할 수 있습니다. 자세한 내용은 멀티 키 외부 ID 매칭을 참조하세요.
curl \ -F 'payload={ "schema": [ "FN", "LN", "EMAIL" ], "data": [ [ "<HASH>", "<HASH>", "<HASH>" ], [ "<HASH>", "<HASH>", "<HASH>" ] ] }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
PAGEUID
사용PAGEUID
키를 사용하면 페이지 ID 리스트도 포함해야 합니다. Facebook에 하나의 PAGEUID
만 보낼 수 있으며, 이는 하나의 요소를 포함한 배열이어야 합니다.
curl -X POST \ -F 'payload={ "schema": [ "PAGEUID" ], "is_raw": "true", "page_ids": [ "<PAGE_IDs>" ], "data": [ [ "<HASH>", "<ID>", "<ID>", "<VALUE>" ], [ "<HASH>", "<ID>", "<ID>", "<VALUE>" ], [ "<HASH>", "<ID>", "<ID>", "<VALUE>" ] ] }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
SHA256
로 데이터를 해시해야 합니다. 다른 해싱 메커니즘은 지원하지 않습니다. 이는 외부 ID, 앱 사용자 ID, 페이지 범위 사용자 ID 및 모바일 광고주 ID를 제외한 모든 데이터에 필수입니다.
데이터를 해시하기 전에 처리 가능하도록 정규화합니다. 이름(FN
)과 성(LN
)만 특수 문자와 비로마자를 지원합니다. 최적의 매칭 결과를 얻으려면 특수 문자를 포함하지 않는 로마자 번역을 제공하세요.
키 | 가이드라인 |
---|---|
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 |
| 해싱 필수 ISO 3166-1 alpha-2 형식의 국가 번호 2자를 소문자로 입력합니다. |
| 해싱 필요 없음 모두 소문자를 사용하고 하이픈은 그대로 유지합니다. |
A~F의 소문자를 사용하여 정규화된 키의 SHA256
값과 이 값의 HEX
표시를 지정합니다. PHP의 해시 함수를 통해 정규화된 이메일과 전화번호를 전환할 수 있습니다.
예 | 결과 |
---|---|
| f1904cf1a9d73a55fa5de0ac823c4403ded71afd4c3248d00bdcd0866552bb79 |
| 1ef970831d7963307784fa8688e8fce101a15685d62aa765fed23f3a2c576a4e |
외부 ID(EXTERN_ID
)라고 하는 고유한 ID가 있는 타겟과 사용자를 매칭할 수 있습니다. 광고주의 모든 고유한 ID(예: 로열티 멤버십 ID, 사용자 ID, 외부 쿠키 ID)가 될 수 있습니다.
이 ID를 해시할 필요가 없지만 EXTERN_ID
와 함께 전송하는 모든 개인 식별 정보(PII)를 해시해야 합니다.
매칭 결과를 개선하려면 ID를 보낼 때와 정확히 똑같은 형식을 사용해야 합니다. 예를 들어 SHA256을 사용하여 해시하기로 했다면 이와 동일한 해시 값을 사용해야 합니다.
이러한 ID를 개별 키로 사용하여 맞춤 타겟에서 사용자를 삭제하거나 맞춤 타겟을 새로 만들 수 있습니다. 이렇게 하면 다른 매칭 키를 다시 업로드하지 않아도 됩니다. 해시된 개인 정보와 EXTERN_ID
로 누군가를 태그하면 Facebook 사용자와 매칭할 때 EXTERN_ID
우선순위가 낮게 설정됩니다.
EXTERN_ID
의 데이터 보관 기간은 90일입니다.
단일 광고 계정에서 고객 파일 맞춤 타겟 전체에 EXTERN_ID
매핑을 다시 사용할 수 있습니다.
광고 계정에 EXTERN_ID
필드를 포함한 타겟이 있는 경우 해당 ID만 사용하여 신규 가입 타겟을 만드세요.
curl \ -F 'payload={"schema":"EXTERN_ID","data":["<ID>","<ID>"]}' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
EXTERN_ID
로 태그된 사람도 멀티 키 매칭으로 추가할 수 있습니다.
curl \ -F 'payload={ "schema": [ "EXTERN_ID", "FN", "EMAIL", "LN" ], "data": [ [ "<ID>", "<HASH>", "<HASH>", "<HASH>" ], [ "<ID>", "<HASH>", "<HASH>", "<HASH>" ], [ "<ID>", "<HASH>", "<HASH>", "<HASH>" ] ] }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
Meta는 개별 광고 계정의 EXTERN_ID
매개변수를 지원하며, 계정이 같은 엔터티에 속해 있더라도 어느 한 계정의 값을 다른 광고 계정에 사용할 수 없습니다.
/<CUSTOM_AUDIENCE_ID>/usersreplace
엔드포인트를 사용하면 하나의 API 호출로 두 가지 작업을 수행할 수 있습니다.
/<CUSTOM_AUDIENCE_ID>/usersreplace
엔드포인트를 사용하면 삭제하려는 사용자 리스트를 업로드하지 않고 모든 기존 사용자를 자동으로 삭제할 수 있습니다. 이 엔드포인트는 타겟이 활성 광고 세트에 포함되었을 때 광고 세트의 머신 러닝 단계를 재설정하지 않습니다. 이는 /<CUSTOM_AUDIENCE_ID>/users
엔드포인트에 대한 POST 또는 DELETE API 호출과는 다릅니다.
Replace Users API는 다음과 같은 요구 사항을 충족하는 타겟에만 적용됩니다.
/<CUSTOM_AUDIENCE_ID>/users
엔드포인트를 사용하여 사용자를 추가하거나 삭제하는 것이 좋습니다.CUSTOM
으로 설정해야 합니다.교체 프로세스를 시작하기 전에 다음을 수행하는 것이 좋습니다.
operation_status
는 Normal
인지 확인합니다. 이미 실행 중인 교체 작업이 있다면 다른 교체 작업을 실행할 수 없습니다.
/<CUSTOM_AUDIENCE_ID>/usersreplace
를 통해 교체 작업을 진행하는 도중에는 /<CUSTOM_AUDIENCE_ID>/users
를 통해 사용자를 추가하거나 삭제할 수 없습니다. 첫 번째 교체 작업이 완료되기 전에 두 번째 교체 작업을 시도하면 교체 작업이 이미 진행 중이라는 메시지를 받게 됩니다.
교체 세션 1개의 최대 시간은 90분입니다. API는 세션이 시작되고 나서 90분이 지난 후 수신되는 세션에 대한 배치를 거부합니다. 90분 이상 배치를 전송해야 할 경우 해당 세션의 교체 작업이 완료되기를 기다렸다가 /<CUSTOM_AUDIENCE>/users
엔드포인트의 추가 작업으로 나머지 업로드를 실행합니다.
타겟이 준비되면 POST
호출을 /<CUSTOM_AUDIENCE_ID>/usersreplace
로 보내서 맞춤 타겟으로 교체할 사용자 리스트를 지정합니다.
operation_status
가 replace_in_progress
로 전환됩니다. operation_status
가 replace_error
로 전환됩니다./<CUSTOM_AUDIENCE_ID>/usersreplace
로 보내는 POST
호출에 다음과 같은 매개변수를 포함할 수 있습니다.
이름 | 설명 |
---|---|
유형: JSON 개체 | 필수 항목. 특정 사용자 배치가 업로드되었는지 추적하는 데 사용합니다. 세션 ID와 배치 정보를 포함해야 합니다. 세션 필드를 참조하세요. 한 번에 10,000명까지 타겟에 추가할 수 있습니다. 10,000명 이상 추가하려면 세션을 여러 배치로 분할하세요(모두 하나의 세션 ID가 있어야 함). 예: { 'session_id':9778993, 'batch_seq':10, 'last_batch_flag':true, 'estimated_num_total':99996 } |
유형: JSON 개체 | 필수 항목. 타겟에 업로드하려는 정보를 제공하는 데 사용합니다. 스키마와 데이터를 포함해야 합니다. 자세한 내용은 페이로드 필드를 참조하세요. 예: { "schema":"EMAIL", "data":["<HASHED_EMAIL>", "<HASHED_EMAIL>", "<HASHED_EMAIL>" ] } |
이름 | 설명 |
---|---|
유형: 64비트 정수 | 필수 항목. 세션을 추적하는 데 사용합니다. ID를 생성해야 하고, 그 숫자는 동일한 광고 계정 내에서 고유해야 합니다. |
유형: 정수 | 필수 항목. |
유형: 부울 | 선택 사항. 진행 중인 교체 세션의 모든 배치가 제공되었음을 나타냅니다. true로 설정할 경우 해당 세션에는 추가적 배치가 허용되지 않습니다. 이 플래그를 설정하지 않으면 첫 배치를 수신하고 90분 후에 세션을 자동 중단합니다. 또한 90분이 지난 후 수신된 배치는 모두 삭제됩니다. |
유형: 정수 | 선택 사항. 이 세션에 업로드할 총 예상 사용자 수. Facebook 시스템에서 세션 처리를 개선하는 데 사용합니다. |
이름 | 설명 |
---|---|
유형: 문자열 또는 | 필수 항목. 어떤 정보를 제공할지 지정하세요. 이는 다음 리스트 중 단일 키 또는 여러 키가 될 수 있습니다.
|
유형: JSON_Array | 필수 항목. 스키마에 해당하는 데이터 리스트입니다. 예:
|
POST
요청을 보내면 다음의 필드가 포함된 응답을 받습니다.
이름 | 설명 |
---|---|
유형: 정수 | 계정 ID. |
유형: 정수 | 이전에 제공한 세션 ID. |
유형: 정수 | 이 세션에서 지금까지 수신된 총 사용자 수. |
유형: 정수 | 형식이 잘못되거나 디코딩할 수 없는 총 사용자 수. 이 숫자가 0이 아닌 경우 데이터를 다시 확인하세요. |
| 현재 요청에서 잘못된 항목 샘플은 최대 100개입니다. 데이터를 다시 확인하세요. |
교체 엔드포인트에서 반환된 모든 오류는 오류 코드가 2650입니다. 반환되는 가장 일반적인 오류 하위 코드와 해결 방법에 대한 지침은 다음과 같습니다.
오류 하위 코드 | 설명 | 취해야 할 조치 |
---|---|---|
1870145 | 타겟 업데이트 진행 중 | 업데이트 중인 고객 리스트 맞춤 타겟을 교체할 수 없습니다. 타겟 가용성이 '정상'이 될 때까지 기다렸다가 다시 시도하세요. |
1870158 | 교체 세션 시간 초과 | 교체 일괄 세션의 90분 시간 제한에 도달했습니다. 고객 리스트 맞춤 타겟은 지금까지 업로드된 타겟으로 교체됩니다. 맞춤 타겟을 추가하려면 교체 프로세스가 끝날 때까지 기다렸다가 |
1870147 | 교체에 대한 잘못된 업로드 배치 | 첫 |
1870159 | 교체 세션 완료됨 | 이 교체 작업은 |
1870148 | 문제 발생 | 고객 리스트가 완전히 업데이트되지 않았습니다. 타겟 크기가 예상과 크게 다를 경우 다시 시도해 보세요. |
1870144 | 교체에 대해 DFCA 크기를 지원하지 않음 | 크기가 1억 개 이상인 고객 리스트 맞춤 타겟을 교체할 수 없습니다. |
빌드, 타게팅 또는 공유가 가능한 기타 타겟 유형이 또 있습니다.
웹사이트 기반 맞춤 타겟 — 특정 페이지를 방문했거나 웹사이트에서 행동을 보인 사람을 기반으로 타겟을 만듭니다. 사이트에서 Meta 픽셀의 데이터를 기반으로 타겟을 빌드합니다.
모바일 앱 기반 맞춤 타겟 — 모바일 앱 사용자를 기반으로 타겟을 만듭니다. 앱 이벤트의 데이터를 기반으로 타겟을 빌드합니다.
유사 타겟 — 이미 알고 있는 사람을 파악하고 Facebook 앱의 유사한 사용자에게 광고합니다.
오프라인 맞춤 타겟 — 매장을 방문했거나 고객 서비스에 전화를 걸었거나, 기타 오프라인 방식으로 행동을 취한 사람을 기반으로 타겟을 만듭니다.
캔버스 참여 타겟 — 캔버스에 참여한 사람을 포함하는 타겟을 만듭니다.