광고 캠페인, 광고 세트 및 광고는 다음 상태 유형 중 하나에 해당됩니다.
배경 정보는 광고 개발자 블로그, 삭제됨 vs. 보관됨을 참조하세요.
라이브 광고 개체는 다음 상태로 구성될 수 있습니다.
ACTIVE
PAUSED
PENDING_REVIEW
CREDIT_CARD_NEEDED
PREAPPROVED
DISABLED
PENDING_PROCESS
WITH_ISSUES
status
필드를 ARCHIVED
로 설정하여 광고 개체를 ARCHIVED
로 설정합니다. 개체 상태가 ARCHIVED
로 설정되면 개체 ID를 기반으로 상세 정보와 통계를 계속 검색할 수 있습니다. 그러나 보관할 수 있는 개체 수에는 제한이 있습니다. 따라서 더 이상 개체가 필요하지 않으면 이 제한을 존중하고 상태를 DELETED
로 변경해야 합니다.
ARCHIVED
개체에는 변경할 수 있는 필드가 두 개(name
및 status
)만 있습니다. status
를 DELETED
로만 변경할 수도 있습니다.
status
필드를 DELETED
로 설정하거나 해당 개체로 HTTP DELETE
를 전송하여 광고 개체 상태를 DELETED
로 설정할 수 있습니다. 개체 상태가 DELETED
로 설정되면 ARCHIVED
로 다시 설정할 수 없습니다.
삭제된 개체 ID를 보관하는 경우 개체 ID를 검색하여 통계 또는 개체 상세 정보를 가져올 수 있습니다. 그러나 삭제되지 않은 노드나 개체에서 삭제된 개체를 연결 개체로 검색할 수 없습니다. 예를 들어 <API_VERSION>/<AD_ID>/insights
는 삭제된 개체에 대해 작동하지만 <API_VERSION>/act_<AD_ACCOUNT_ID>/insights?level=ad
는 삭제된 개체에 대한 통계를 반환하지 않습니다.
광고를 삭제한 뒤에도 마지막 게재 이후 28일 동안 발생한 노출, 클릭 및 행동을 추적할 수 있습니다. ad.effective_status
필터를 사용하여 DELETED
개체에 대한 인사이트를 쿼리할 수 있습니다.
두 개의 광고가 포함된 광고 세트에서 광고 중 하나를 삭제하는 경우 다음 두 쿼리에서는 동일한 결과를 반환하지 않습니다.
https://graph.facebook.com/v21.0
/<AD_SET_ID>/insights https://graph.facebook.com/v21.0
/<AD_ID>/insights
광고 세트는 광고 세트 내에서 삭제된 광고와 삭제되지 않은 광고에 대한 통계를 모두 반환합니다. 하지만 광고 세트에서 광고를 쿼리하면 광고 하나만 보입니다.
https://graph.facebook.com/v21.0
/<AD_SET_ID>/ads
이 상황을 방지하려면 마지막 전송 날짜로부터 28일 후에 광고를 삭제하여 통계가 더 이상 변경되지 않도록 해야 합니다. 또한 삭제하기 전에 자체 시스템에 해당 개체의 통계 또는 ID를 저장해야 합니다. 이 권고 사항은 선택 사항입니다.
DELETED
개체에 대해서는 name
이외의 다른 필드를 변경할 수 없습니다.
일반적으로 개체 상태를 관리하는 방법을 다음과 같습니다.
deleted
상태로 이동해야 합니다.광고 개체의 상태는 광고 개체 계층에 대해 다음과 같은 방식으로 작동합니다.
with_issues
, paused
, archived
또는 deleted
로 설정하면 아래의 모든 개체가 자동으로 해당 상태를 상속합니다. deleted
로 설정된 경우 명시적으로 ID를 지정하지 않고는 해당 캠페인 아래의 광고 세트 또는 광고를 검색할 수 없습니다.with_issues
, paused
, archived
또는 deleted
로 설정하면 해당 광고를 포함하고 있는 광고 세트 또는 광고 캠페인은 원래 상태로 유지되며 검색할 수 있습니다.다음 제한이 해당 광고 계정의 ARCHIVED
개체에 적용됩니다.
archived
에지를 읽을 경우 보관된 개체는 기본적으로 반환되지 않으므로 특별히 필터링해야 합니다. 광고 개체에 대한 통계를 읽을 경우 하위 개체가 active
, archived
또는 deleted
중 어떤 것이든 모든 하위 개체의 상태가 포함됩니다. 그러므로 하위 개체에서는 인사이트에 대해 필터링할 필요가 없습니다.
ACTIVE
, PAUSED
와 같은 상태가 포함된 개체는 ARCHIVED
, DELETED
상태가 포함된 개체와 다릅니다. 주요한 차이점은 다음과 같습니다.
쿼리 | Live | 보관됨 | 삭제됨 |
---|---|---|---|
데이터베이스에 있음 | 예 | 예 | 예 |
광고 계정당 최대 개수 | 100,000 | 제한 없음 | |
필터가 없는 에지로 쿼리 | 예 | 아니요 | 아니요 |
상태 필터가 있는 에지로 쿼리 | 예(필터에 포함된 상태의 개체인 경우) | 예( | 아니요( |
자체 ID로 쿼리 | 예 | 예 | 예 |
| 예 | 예 | 예 |
| 예 | 아니요 | 아니요 |
delivery_info 필터링을 사용하는 | 예(필터에 포함된 상태의 개체인 경우) | 예(필터에 포함된 상태의 개체인 경우) | 아니요 |
| 예 | 예 | 예 |
변경 가능한 상태 | 모든 유효한 상태 |
| 변경할 수 없음 |
광고를 보관된 상태로 설정하는 방법은 다음과 같습니다.
use FacebookAds\Object\Ad;
$ad = new Ad(<AD_ID>);
$ad->archive();
from facebookads.adobjects.ad import Ad
ad = Ad(ad_id)
ad.remote_archive()
new Ad(<AD_ID>, context).update()
.setStatus(Ad.EnumStatus.VALUE_ARCHIVED)
.execute();
curl \
-F 'status=ARCHIVED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/<AD_ID>
광고를 삭제하는 방법은 다음과 같습니다.
use FacebookAds\Object\Ad;
$ad = new Ad(<AD_ID>);
$ad->deleteSelf();
from facebookads.adobjects.ad import Ad
ad = Ad(<AD_ID>)
ad.remote_delete()
new Ad(<AD_ID>, context).update()
.setStatus(Ad.EnumStatus.VALUE_DELETED)
.execute();
curl -X DELETE \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/<AD_ID>/
라이브 상태인 개체 중 라이브 상태인 하위 개체를 검색(예: ARCHIVED
또는 DELETED
광고를 제외하고 광고 캠페인의 모든 라이브 상태 광고)하는 방법은 다음과 같습니다.
curl -X GET \
-d 'fields="name"' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_CAMPAIGN_ID>/ads
라이브 상태인 개체 중 ARCHIVED
상태인 하위 개체(예: 광고 세트의 모든 ARCHIVED
상태 광고)를 검색하려면 다음과 같이 상태 필터가 필요합니다.
curl -X GET \
-d 'effective_status=[
"ARCHIVED"
]' \
-d 'fields="name"' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_CAMPAIGN_ID>/ads