광고 미리 보기 가져오기

Instagram 광고는 다음에 대한 미리 보기를 가져올 수 있습니다.

기존 광고 미리 보기

광고 또는 광고 크리에이티브 ID를 포함한 형식 옵션을 사용하여 기존 광고를 미리 볼 수 있습니다. ad_format은 다음과 같이 구성됩니다.

형식설명

INSTAGRAM_EXPLORE_CONTEXTUAL

Instagram 둘러보기 피드 형식. Instagram 둘러보기의 광고에 대해 자세히 알아보세요.

INSTAGRAM_EXPLORE_IMMERSIVE

Instagram 둘러보기 동영상 형식. Instagram 둘러보기의 광고에 대해 자세히 알아보세요.

INSTAGRAM_REELS

Instagram 릴스 노출 위치.

INSTAGRAM_STANDARD

Instagram 피드 게시물 형식.

INSTAGRAM_STORY

Instagram 스토리 형식.

광고 미리 보기 호출은 다음과 같습니다.

use FacebookAds\Object\Ad;
use FacebookAds\Object\Values\AdPreviewAdFormatValues;

$adgroup = new Ad(<AD_ID>);
$preview = $adgroup->getPreviews(array(), array(
  'ad_format' => AdPreviewAdFormatValues::INSTAGRAM_STANDARD,
))->current();
from facebookads.adobjects.ad import Ad
from facebookads.adobjects.adpreview import AdPreview

ad = Ad(<AD_ID>)
ad.get_previews(params={
    'ad_format': AdPreview.AdFormat.instagram_standard,
})
curl -G \
  -d 'ad_format=INSTAGRAM_STANDARD' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<AD_ID>/previews

크리에이티브 추가 전 미리 보기

광고 크리에이티브를 제공하기 전에 광고를 미리 보려면 미리 보기의 creative 매개변수에서 크리에이티브의 object_story_spec을 전달하세요. Instagram 전용 노출 위치와 혼합 노출 위치 광고에 모두 instagram_actor_idpage_id를 제공해야 합니다.

use FacebookAds\Object\AdAccount;
use FacebookAds\Object\AdCreative;
use FacebookAds\Object\AdCreativeLinkData;
use FacebookAds\Object\Values\AdCreativeCallToActionTypeValues;
use FacebookAds\Object\Fields\AdCreativeFields;
use FacebookAds\Object\Fields\AdCreativeLinkDataFields;
use FacebookAds\Object\Fields\AdCreativeObjectStorySpecFields;
use FacebookAds\Object\Fields\AdPreviewFields;
use FacebookAds\Object\AdCreativeObjectStorySpec;
use FacebookAds\Object\Values\AdPreviewAdFormatValues;

$creative = new AdCreative();
$creative->setData(array(
  AdCreativeFields::OBJECT_STORY_SPEC =>
    (new AdCreativeObjectStorySpec())->setData(array(
      AdCreativeObjectStorySpecFields::PAGE_ID => <PAGE_ID>,
      AdCreativeObjectStorySpecFields::INSTAGRAM_ACTOR_ID =>
        <INSTAGRAM_ACTOR_ID>,
      AdCreativeObjectStorySpecFields::LINK_DATA =>
        (new AdCreativeLinkData())->setData(array(
          AdCreativeLinkDataFields::IMAGE_HASH => '<IMAGE_HASH>',
          AdCreativeLinkDataFields::MESSAGE => 'Ad Message',
          AdCreativeLinkDataFields::CAPTION => 'www.example.com',
          AdCreativeLinkDataFields::LINK => '<URL>',
          AdCreativeLinkDataFields::CALL_TO_ACTION => array(
            'type' => AdCreativeCallToActionTypeValues::LEARN_MORE,
            'value' => array(
              'link' => '<URL>',
            ),
          ),
      )),
    )),
));

$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$preview = $account->getGeneratePreviews(array(), array(
  AdPreviewFields::CREATIVE => $creative,
  AdPreviewFields::AD_FORMAT => AdPreviewAdFormatValues::INSTAGRAM_STANDARD,
))->current();
from facebookads.adobjects.adaccount import AdAccount
from facebookads.adobjects.adcreative import AdCreative
from facebookads.adobjects.adcreativelinkdatacalltoaction \
    import AdCreativeLinkDataCallToAction
from facebookads.adobjects.adcreativelinkdata import AdCreativeLinkData
from facebookads.adobjects.adcreativeobjectstoryspec \
    import AdCreativeObjectStorySpec
from facebookads.adobjects.adpreview import AdPreview

account = AdAccount('act_<AD_ACCOUNT_ID>')

link_data = AdCreativeLinkData()
link_data.set_data({
    AdCreativeLinkData.Field.image_hash: '<IMAGE_HASH>',
    AdCreativeLinkData.Field.message: 'Ad message',
    AdCreativeLinkData.Field.caption: 'www.example.com',
    AdCreativeLinkData.Field.link: '<URL>',
    AdCreativeLinkData.Field.call_to_action: {
        'type': AdCreativeLinkDataCallToAction.Type.learn_more,
        'value': {
            'link': '<URL>',
        },
    },
})

story = AdCreativeObjectStorySpec()
story.set_data({
    AdCreativeObjectStorySpec.Field.page_id: <PAGE_ID>,
    AdCreativeObjectStorySpec.Field.instagram_actor_id: <INSTAGRAM_ACTOR_ID>,
    AdCreativeObjectStorySpec.Field.link_data: link_data,
})

creative = AdCreative()
creative.set_data({
    AdCreative.Field.object_story_spec: story,
})

preview = account.get_generate_previews(params={
    'creative': creative,
    'ad_format': AdPreview.AdFormat.instagram_standard,
})
APINodeList<AdPreview> adPreviews = new AdAccount(act_<AD_ACCOUNT_ID>, context).getGeneratePreviews()
  .setCreative(
    new AdCreative()
      .setFieldObjectStorySpec(
        new AdCreativeObjectStorySpec()
          .setFieldInstagramActorId(<INSTAGRAM_ACTOR_ID>)
          .setFieldLinkData(
            new AdCreativeLinkData()
              .setFieldCallToAction(
                new AdCreativeLinkDataCallToAction()
                  .setFieldType(AdCreativeLinkDataCallToAction.EnumType.VALUE_LEARN_MORE)
                  .setFieldValue(
                    new AdCreativeLinkDataCallToActionValue()
                      .setFieldLink(<URL>)
                  )
              )
              .setFieldCaption("www.example.com")
              .setFieldImageHash(<IMAGE_HASH>)
              .setFieldLink(<URL>)
              .setFieldMessage("Ad Message")
          )
          .setFieldPageId(<PAGE_ID>)
      )
  )
  .setAdFormat(AdPreview.EnumAdFormat.VALUE_INSTAGRAM_STANDARD)
  .execute();
curl -G \
  --data-urlencode 'creative={ 
    "object_story_spec": { 
      "instagram_actor_id": "<INSTAGRAM_ACTOR_ID>", 
      "link_data": { 
        "call_to_action": {"type":"LEARN_MORE","value":{"link":"<URL>"}}, 
        "caption": "www.example.com", 
        "image_hash": "<IMAGE_HASH>", 
        "link": "<URL>", 
        "message": "Ad Message" 
      }, 
      "page_id": "<PAGE_ID>" 
    } 
  }' \
  -d 'ad_format=INSTAGRAM_STANDARD' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/generatepreviews

크리에이티브 추가 후 미리 보기

광고 크리에이티브를 제공한 후 해당 Instagram 게시물에 대한 URL을 가져오고 광고 게시물에 대한 응답을 확인할 수 있습니다. 이 게시물은 타겟이 보는 게시물과 다릅니다. 이 게시물에는 'Sponsored' 또는 행동 유도가 없습니다.

이 URL은 다이내믹 광고 크리에이티브와 함께 사용할 수 없습니다(object_story_spec에서 template_data 사용 시). 또한 Instagram 스토리 광고의 광고 크리에이티브에도 사용할 수 없습니다.

curl -X GET \ -d 'fields="instagram_permalink_url"' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/<CREATIVE_ID>/
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdCreative = bizSdk.AdCreative; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_CREATIVE_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ 'instagram_permalink_url', ]; params = { }; const sample_code = (new AdCreative(id)).get( fields, params ); logApiCallResult('sample_code api call complete.', sample_code);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdCreative; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_CREATIVE_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( 'instagram_permalink_url', ); $params = array( ); echo json_encode((new AdCreative($id))->getSelf( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adcreative import AdCreative from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_CREATIVE_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ 'instagram_permalink_url', ] params = { } print AdCreative(id).get( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<AD_CREATIVE_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdCreative(id, context).get() .requestInstagramPermalinkUrlField() .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_CREATIVE_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_creative = FacebookAds::AdCreative.get(id ,'instagram_permalink_url')

응답:

{
  "instagram_permalink_url": "<INSTAGRAM_POST_URL>",
  "id": "<AD_CREATIVE_ID>"
}