개요
소개
사용 사례
- 크리에이티브
- 타기팅
- 입찰 유형
- 입찰 단위
A/B Testing
사용 사례
- 크리에이티브
- 타게팅
- 입찰 유형
- 입찰 단위
속성
- 테스트 기간으로, start_time 및 end_time 필드로 표현됩니다.
- 분할이 이루어지는 수준으로, entity_type 필드로 표현됩니다.
- 최소 2개(최대 30개)의 사용자 그룹으로, 각각 user_groups 배열의 객체로 표현됩니다.
- 해당 사용자 그룹에 할당되어야 하는 사용자 비율로, size 필드로 표현됩니다.
- 해당 사용자 그룹의 사용자 풀을 구성하는 캠페인 ID/라인 아이템 ID로, entity_ids 배열로 표현됩니다.
사용 방법
생성
Content-Type은 application/json으로 설정해야 합니다.
광고주가 두 개 이상의 캠페인을 설정한 후 A/B 테스트를 생성할 수 있습니다. 위에서 언급했듯이 A/B 테스트에는 반드시 테스트 기간, 분할 수준(split level), 그리고 최소 두 개의 사용자 그룹이 포함되어야 합니다. 각 사용자 그룹은 자신에게 할당할 사용자 비율과 해당 사용자 풀을 구성할 캠페인 ID를 명시해야 합니다. 각 항목에 대해서는 아래에서 더 자세히 설명합니다.
테스트 기간:
-
start_time및end_time값은 다음을 만족해야 합니다.- (A/B 테스트가 생성되는 시점 기준으로) 미래 시점이어야 합니다.
- 캠페인/라인 아이템의 집행 기간(flight dates)과 겹쳐야 합니다.
- 테스트는 앱 기반이 아닌 캠페인의 경우 최소 1일, 앱 기반 캠페인의 경우 최소 5일 동안 진행되어야 합니다.
entity_type은CAMPAIGN또는LINE_ITEM으로 설정할 수 있습니다.
-
각 사용자 그룹은
user_groups배열 내의 하나의 객체로 표현됩니다.- 최소 두 개의 사용자 그룹이 필요합니다.
- 최대 30개의 사용자 그룹까지 허용됩니다.
-
각 사용자 그룹의 크기는 1.00 이상 99.00 이하의 숫자 값을 문자열로 표현하여 설정합니다.
- 참고: 모든 객체에 걸친
size값의 합은 반드시 100.00이 되어야 합니다.
- 참고: 모든 객체에 걸친
-
캠페인 ID는 각 사용자 그룹의
entity_ids배열에 지정해야 합니다.
name과 description을 설정할 수 있습니다.
다음 요청은 캠페인 수준에서 A/B 테스트를 생성하며, 4일 동안 진행되고 각 그룹에 전체 사용자의 50%가 포함된 두 개의 사용자 그룹을 갖습니다. 첫 번째 사용자 그룹은 캠페인 f2qcw와 f2tht를 기반으로 하고, 두 번째 사용자 그룹은 캠페인 f2rqi와 f2tws를 기반으로 합니다. 이 요청은 또한 엔티티의 일부에 이름과 설명을 추가합니다.
twurl -X POST -H ads-api.x.com “/8/accounts/18ce54d4x5t/ab_tests” -d ’{“end_time”: “2020-12-05T01:00:00Z”, “entity_type” : “CAMPAIGN”, “start_time”: “2020-12-01T01:00:00Z”, “user_groups”: [{“entity_ids”: [“f2qcw”, “f2tht”], “size”: “50.00”, “name”: “first group”},{“entity_ids”: [“f2rqi”, “f2tws”], “size”: “50.00”, “name”: “second group”, “description”: “second AB test group”}], “name”: “first AB test”, “description”: “documentation example”}’
entity_type입니다. 라인 아이템 수준에서 A/B 테스트를 수행하려면 entity_type = LINE_ITEM으로 설정해야 합니다. 이는 아래에 설명된, 이미 생성된 A/B 테스트에 대해 수행하는 모든 작업에 적용됩니다.
요구 사항:
- A/B 테스트 캠페인의 모든 라인 아이템이 스플릿 테스트에 포함되어야 합니다.
- 라인 아이템 수준에서는 균등 분할만 허용됩니다.
- 하나의 스플릿 테스트에서 사용자 그룹별로 허용되는 라인 아이템 수는 최대 5개입니다.
- 각 사용자 그룹에는 라인 아이템을 1개만 설정할 수 있습니다.
업데이트
Content-Type은 application/json으로 설정해야 합니다.
다른 업데이트 엔드포인트와 마찬가지로, PUT accounts/:account_id/ab_tests/:ab_test_id 엔드포인트를 사용할 때는 URL에 A/B 테스트 ID를 포함해야 합니다. 일반적으로 A/B 테스트는 상태가 SCHEDULED일 때만 업데이트할 수 있습니다. 단, 상태가 LIVE일 때 end_time을 업데이트하는 것은 예외적으로 허용됩니다.
이 엔드포인트는 object ID를 포함하는 부분 JSON을 지원합니다. 다음 원칙이 적용됩니다.
- 객체나 요소를 추가하거나 제거하려면 전체 배열(및 그 하위 구조)을 전달해야 합니다. 이는 대체(replacement) 작업입니다.
-
그 밖의 경우에는 키 이름 또는 ID를 참조해 기존 필드를 수정(변경, 추가, 제거)합니다.
-
필드를 제거하려면 그 값을
null로 설정합니다. - 전달되지 않은 필드는 수정되지 않습니다.
-
필드를 제거하려면 그 값을
user_groups 배열을 전송해야 합니다. 이를 user_groups 배열을 재생성하는 것으로 생각하면 됩니다. 처음부터 이렇게 생성하는 것처럼 데이터를 전달해야 하며(사용자 그룹 object ID는 전달하지 마십시오). 업데이트 요청의 user_groups 배열은 다음과 같이 표현할 수 있습니다.
요청 예시
- 이름이나 설명 없이 세 번째 사용자 그룹을 추가합니다.
- 각 사용자 그룹에 속한 사용자 비율을 변경합니다.
- A/B 테스트 설명을 제거합니다.
- 첫 번째 사용자 그룹에 설명을 추가합니다.
- 두 번째 사용자 그룹에 엔터티 ID(f2syz)를 추가합니다.
- 두 번째 사용자 그룹을 제거합니다
- 각 사용자 그룹에 속한 사용자 비율을 변경합니다
API 참조 문서
A/B 테스트
GET accounts/:account_id/ab_tests
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/ab_tests
Parameters
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests
예시 응답
POST accounts/:account_id/ab_tests
Content-Type은 application/json이어야 합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/ab_tests
매개변수
사용자 그룹
요청 예시
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests -d '{"end_time": "2022-05-30T01:00:00Z", "entity_type" : "CAMPAIGN", "start_time": "2022-05-25T01:00:00Z", "user_groups": [{"entity_ids": ["f2qcw", "f2tht"], "size": "50.00", "name": "first group"},{"entity_ids": ["f2rqi", "f2tws"], "size": "50.00", "name": "second group", "description": "second AB test group"}], "name": "first AB test", "description": "documentation example"}'
응답 예시
PUT accounts/:account_id/ab_tests/:ab_test_id
Content-Type은 application/json이어야 합니다.
이 엔드포인트는 객체 ID를 포함하는 부분 JSON을 지원합니다. 다음 원칙이 적용됩니다:
- 객체나 요소를 추가하거나 제거하려면 전체 배열(및 해당 하위 구조)을 전달해야 하며, 이는 대체 작업입니다
- 배열을 다시 생성한다고 생각하면 됩니다
- 그 외의 경우, 키 이름 또는 ID를 참조하여 기존 필드를 수정(변경, 추가, 제거)합니다
- 필드를 제거하려면 해당 값을
null로 설정합니다 - 전달되지 않은 필드는 수정되지 않습니다
- 필드를 제거하려면 해당 값을
status가 SCHEDULED일 때만 업데이트할 수 있습니다. 예외가 하나 있는데, A/B 테스트가 LIVE인 동안에도 end_time은 업데이트할 수 있습니다.
리소스 URL
https://ads-api.x.com/12/accounts/18ce54d4x5t/:ab_test_id
매개변수
사용자 그룹
예시 요청
- A/B 테스트 설명을 제거합니다
- 종료 시간을 변경합니다
- 첫 번째 사용자 그룹에 설명을 추가합니다
- 각 사용자 그룹의 사용자 비율을 변경합니다
- 두 번째 사용자 그룹에 엔터티 ID (
f2syz)를 추가합니다
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests/hr7l0 -d '{"description": null, "end_time": "2022-06-01T01:00:00Z", "user_groups": [{"id": "p1bcx", "description": "first AB test group", "size": "60.00"},{"id": "p1bcy", "size": "40.00", "entity_ids": ["f2rqi", "f2tws", "f2syz"]}]}'
응답 예시
DELETE accounts/:account_id/ab_tests/:ab_test_id
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/ab_tests/:ab_test_id
Parameters
예시 요청
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests/hr7l0