Instant Experience

Instant Experience adalah destinasi iklan layar penuh pascaklik yang dimuat hampir seketika dari iklan di Kabar.

Jika Anda menemukan penyebutan canvas di API, itu mengacu pada Instant Experience. Canvas adalah nama sebelumnya dari format ini.

Sebelum Memulai

Untuk membuat dan mengelola Instant Experience, Anda memerlukan:

Batasan

  • Anda hanya dapat memperbarui Instant Experience yang belum diterbitkan.
  • Instant Experience API tersedia untuk Instagram secara terbatas.
  • Iklan yang menggunakan Instant Experience tidak didukung untuk Facebook Stories.

Membuat

Untuk membuat Instant Experience, Anda akan memerlukan ID Halaman Facebook (PAGE-ID) dan element apa pun, seperti foto, tombol, dan teks, yang ingin Anda sertakan dalam pengalaman Anda.

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$params = array(
  'background_color' => 'FFFFFF',
  'body_element_ids' => array(<CANVAS_PHOTO_ID>),
  'is_hidden' => false,
  'is_published' => false,
  'name' => 'Canvas Name',
);

$data = Api::instance()->call(
  '/' . <PAGE_ID> . '/canvases',
  RequestInterface::METHOD_POST,
  $params)->getContent();
curl \
  -F 'background_color=FFFFFF' \
  -F 'body_element_ids=["<CANVAS_PHOTO_ID>"]' \
  -F 'is_hidden=' \
  -F 'is_published=' \
  -F 'name=Canvas Name' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PAGE_ID>/canvases

Elemen

NamaDeskripsi

Tombol

Tombol dalam Instant Experience. Kolom button_style diperlukan.

Carousel

Carousel untuk Instant Experience.

Footer

Footer untuk Instant Experience.

Header

Header untuk Instant Experience.

Foto

Foto dalam Instant Experience. Sebaiknya sediakan PHOTO-ID untuk foto yang diunggah ke Halaman Facebook.

Daftar Produk

Daftar produk untuk Instant Experience.

Set Produk

Set produk dari katalog produk iklan katalog Advantage+ yang ditampilkan di Instant Experience.

Pencari Lokasi Toko

Pencari lokasi toko dalam Instant Experience.

Teks

Teks dan gayanya ditampilkan dalam Instant Experience.

Video

Video dalam Instant Experience. Anda sebaiknya memberikan VIDEO-ID untuk video yang diunggah ke Halaman Facebook.

Menghapus Elemen

Untuk menghapus elemen, kirim permintaan DELETE dengan ID elemen yang ingin dihapus.

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$data = Api::instance()->call(
  '/' . <CANVAS_ELEMENT_ID>,
  RequestInterface::METHOD_DELETE,
  array())->getContent();
curl -X DELETE \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CANVAS_ELEMENT_ID>

Mendapatkan Instant Experience yang Sudah Ada

Untuk mendapatkan informasi tentang Instant Experience yang ada, Anda akan memerlukan Instant Experience (CANVAS-ID).

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$params = array(
  'fields' => array(
    'body_elements',
    'canvas_link',
    'id',
    'is_hidden',
    'is_published',
    'name',
  ),
);

$data = Api::instance()->call(
  '/' . <CANVAS_ID>,
  RequestInterface::METHOD_GET,
  $params)->getContent();
curl -G \
  --data-urlencode 'fields=[ 
    "body_elements", 
    "canvas_link", 
    "id", 
    "is_hidden", 
    "is_published", 
    "name" 
  ]' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CANVAS_ID>

Mendapatkan Semua Instant Experience untuk Halaman

Untuk mendapatkan informasi tentang semua Instant Experience yang ada untuk Halaman Facebook, Anda memerlukan ID Halaman (PAGE-ID).

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$params = array(
  'fields' => array(
    'background_color',
    'body_elements',
    'canvas_link',
    'id',
    'is_hidden',
    'is_published',
    'last_editor',
    'name',
    'owner',
    'update_time',
  ),
);

$data = Api::instance()->call(
  '/' . <PAGE_ID> . '/canvases',
  RequestInterface::METHOD_GET,
  $params)->getContent();
curl -G \
  --data-urlencode 'fields=[ 
    "background_color", 
    "body_elements", 
    "canvas_link", 
    "id", 
    "is_hidden", 
    "is_published", 
    "last_editor", 
    "name", 
    "owner", 
    "update_time" 
  ]' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PAGE_ID>/canvases

Memperbarui Instant Experience

Untuk memperbarui Instant Experience, pengalaman harus tidak diterbitkan dan Anda akan membutuhkan ID Instant Experience (CANVAS-ID) dan ID elemen apa pun yang ingin Anda perbarui.

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$params = array(
  'background_color' => 'FFFFFF',
  'body_element_ids' => array(<CANVAS_PHOTO_ID>),
  'is_hidden' => false,
  'is_published' => false,
  'name' => 'Canvas Name',
);

$data = Api::instance()->call(
  '/' . <CANVAS_ID>,
  RequestInterface::METHOD_POST,
  $params)->getContent();
curl \
  -F 'background_color=FFFFFF' \
  -F 'body_element_ids=["<CANVAS_PHOTO_ID>"]' \
  -F 'is_hidden=' \
  -F 'is_published=' \
  -F 'name=Canvas Name' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CANVAS_ID>

Menggunakan Template

Anda dapat menggunakan template sebagai cara cepat untuk membuat Instant Experience untuk tujuan bisnis tertentu. Tata letak untuk setiap template bersifat tetap, namun Anda dapat mengganti konten default dengan gambar, video, produk, teks, dan tautan Anda sendiri.

API Template NamaID TemplateDeskripsi

Mendapatkan Pelanggan Baru

133471657203838

Dorong konversi dengan halaman tujuan seluler yang mendorong tindakan. Template Akuisisi Pelanggan dalam Pengelola Iklan.

Pamerkan Bisnis Anda

1063217037112304

Beri cara yang menarik agar orang dapat menjelajahi merek, produk, atau layanan Anda. Template Penyampaian Cerita dalam Pengelola Iklan.

Menjual Produk (Tanpa Katalog)

424787857903852

Ciptakan pengalaman belanja seluler dengan mengunggah informasi produk Anda alih-alih menggunakan katalog. Template Menjual Produk (Tanpa Katalog) dalam Pengelola Iklan.

Menjual Produk: Tata Letak Gaya Hidup

1369752616394017

Biarkan orang-orang menjelajahi produk Anda dengan menampilkan mereka dalam foto.Template Lookbook dalam Pengelola Iklan.

Menjual Produk: Tata Letak Kisi

1932289657009030

Gunakan katalog produk Anda untuk menciptakan pengalaman yang memungkinkan orang berbelanja langsung dari perangkat seluler mereka. Template Etalase dalam Pengelola Iklan.

Pengalaman AR

Template Pengalaman AR hanya tersedia melalui Pengelola Iklan.

Mendapatkan Jenis Elemen untuk Template

Langkah 1. Dapatkan Informasi Dokumen untuk Template

Kirim Permintaan GET untuk menentukan elemen mana yang dibutuhkan untuk template tertentu, Mendapatkan Pelanggan Baru di contoh berikut.

curl -i -X GET \
 "https://graph.facebook.com/VERSION/133471657203838?fields=document&access_token=ACCESS-TOKEN"

Contoh Tanggapan

{
  "document": {
    "name": "Get New Customers",
    "id": "397246414010297"
  },
  "id": "133471657203838"
}

Langkah 2. Dapatkan Jenis Elemen

Gunakan ID untuk kolom document untuk mendapatkan elemen tertentu yang tersedia untuk template tertentu.

curl -i -X GET \
 "https://graph.facebook.com/VERSION/397246414010297?fields=body_elements&access_token=ACCESS-TOKEN"

Daftar menampilkan jenis elemen yang tersedia untuk digunakan di template Mendapatkan Pelanggan Baru.

    {
  "body_elements": [
    {
      "name": "Cover Image or Video",
      "element_type": "PHOTO",
      "id": "397271930674412"
    },
    {
      "name": "Text",
      "element_type": "RICH_TEXT",
      "id": "397271920674413"
    },
    {
      "name": "Text",
      "element_type": "RICH_TEXT",
      "id": "397271910674414"
    },
    {
      "name": "Button",
      "element_type": "BUTTON",
      "id": "397271914007747"
    },
    {
      "name": "Carousel",
      "element_type": "CAROUSEL",
      "id": "397271940674411"
    },
    {
      "name": "Text",
      "element_type": "RICH_TEXT",
      "id": "397271917341080"
    },
    {
      "name": "Button",
      "element_type": "BUTTON",
      "id": "397271924007746"
    }
  ],
  "id": "397246414010297"
}

Publikasikan

Untuk menerbitkan iklan Instant Experience Anda, kirim permintaan POST ke ID Instant Experience Anda (CANVAS-ID) dan atur kolom is_published ke true.

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$params = array(
  'is_published' => true,
);

$data = Api::instance()->call(
  '/' . <CANVAS_ID>,
  RequestInterface::METHOD_POST,
  $params)->getContent();
curl \
  -F 'is_published=1' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CANVAS_ID>

Membuat Materi Iklan

Buat materi iklan menggunakan tautan untuk Instant Experience yang ada (CANVAS-LINK).

curl -X POST \ -F 'image_hash="<IMAGE_HASH>"' \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "link_data": { "image_hash": "<IMAGE_HASH>", "link": "<CANVAS_LINK>", "name": "Creative message", "call_to_action": { "type": "LEARN_MORE" } } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const AdCreative = bizSdk.AdCreative; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_ACCOUNT_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 = [ ]; params = { 'image_hash' : '<imageHash>', 'object_story_spec' : {'page_id':'<pageID>','link_data':{'image_hash':'<imageHash>','link':'<canvasURI>','name':'Creative message','call_to_action':{'type':'LEARN_MORE'}}}, }; const adcreatives = (new AdAccount(id)).createAdCreative( fields, params ); logApiCallResult('adcreatives api call complete.', adcreatives);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; 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_ACCOUNT_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'image_hash' => '<imageHash>', 'object_story_spec' => array('page_id' => '<pageID>','link_data' => array('image_hash' => '<imageHash>','link' => '<canvasURI>','name' => 'Creative message','call_to_action' => array('type' => 'LEARN_MORE'))), ); echo json_encode((new AdAccount($id))->createAdCreative( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount 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_ACCOUNT_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'image_hash': '<imageHash>', 'object_story_spec': {'page_id':'<pageID>','link_data':{'image_hash':'<imageHash>','link':'<canvasURI>','name':'Creative message','call_to_action':{'type':'LEARN_MORE'}}}, } print AdAccount(id).create_ad_creative( 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_ACCOUNT_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdAccount(id, context).createAdCreative() .setImageHash(\"<imageHash>\") .setObjectStorySpec( new AdCreativeObjectStorySpec() .setFieldLinkData( new AdCreativeLinkData() .setFieldCallToAction( new AdCreativeLinkDataCallToAction() .setFieldType(AdCreativeLinkDataCallToAction.EnumType.VALUE_LEARN_MORE) ) .setFieldImageHash(\"<imageHash>\") .setFieldLink(\"<canvasURI>\") .setFieldName(\"Creative message\") ) .setFieldPageId(\"<pageID>\") ) .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_account = FacebookAds::AdAccount.get(id) adcreatives = ad_account.adcreatives.create({ image_hash: '<imageHash>', object_story_spec: {'page_id':'<pageID>','link_data':{'image_hash':'<imageHash>','link':'<canvasURI>','name':'Creative message','call_to_action':{'type':'LEARN_MORE'}}}, })

Setelah materi iklan siap, Anda selanjutnya dapat membuat grup iklan, set iklan, dan kampanye iklan.

Dialog Iklan Instant Experience

Anda dapat menggunakan Dialog Iklan Instant Experience untuk menyediakan antarmuka pengguna pembuatan iklan Instant Experience Facebook di situs web Anda. Untuk detail mengenai komponen UI, lihat Dialog.

Siapkan Facebook SDK for Javascript, lihat:

JavaScript SDK mengandalkan izin pengguna yang login untuk membuat Instant Experience. Jika pengguna tidak memiliki izin yang diperlukan untuk membuat Instant Experience untuk halaman dan bisnis yang ditentukan, dialog akan menampilkan kesalahan. Untuk memastikan tidak ada kesalahan, pengguna harus berada dalam bisnis dan memiliki izin "membuat iklan" untuk halaman.

Selanjutnya, picu dialog berikut:

FB.ui({         
  display: 'popup',
  method: 'instant_experiences_builder',
  business_id: '<BUSINESS_ID>',
  page_id: '<PAGE_ID>'
}, function(response) {
  // callback
});

Anda dapat menyediakan pengaturan ini untuk plugin:

NamaDiwajibkanDeskripsi

display

Ya

Parameter yang diperlukan dengan nilai popup yang telah ditetapkan

method

Ya

Parameter yang diperlukan dengan nilai instant_experiences_builder yang telah ditetapkan

business_id

Ya

ID bisnis Anda

page_id

Ya

ID Halaman yang ingin Anda hubungkan dengan Instant Experience

canvas_id

Tidak

ID Instant Experience yang ingin Anda edit

Parameter canvas_id bersifat opsional dan dimaksudkan untuk memungkinkan pengguna mengedit atau melihat pratinjau Instant Experience yang sudah ada. Jika Instant Experience sudah selesai, Anda tidak dapat mengeditnya. Untuk melihat cuplikan Instant Experience, kami rekomendasikan untuk menggunakan Dialog Cuplikan Instant Experience.

Plugin memberikan tanggapan ini jika berhasil:

{
  "success": true,
  "id": "CANVAS-ID"
}

ID yang ditampilkan adalah Instant Experience yang diterbitkan. Anda kini dapat menggunakannya dalam kampanye iklan. Jika tidak ada tanggapan atau tanggapan undefined ditampilkan, hal tersebut berarti pemirsa menutup dialog sebelum menyelesaikan Instant Experience. Pengguna mungkin telah menyimpan Instant Experience, namun belum menyelesaikannya. Anda dapat menarik semua Instant Experience yang termasuk dalam halaman menggunakan Graph API untuk mengetahui apakah pengalaman yang belum selesai atau tidak.

Melihat pratinjau Instant Experience

API Pratinjau iframe

Anda dapat membuat pratinjau Instant Experience dengan memanggil API pratinjau yang menampilkan iframe, mirip dengan API pratinjau iklan:

curl -X GET \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v18.0/<CANVAS_ID>/preview

API memberikan sesuatu seperti ini, yang dapat dilihat dengan menyematkan elemen iframe yang diberikan dalam HTML:

{
"data": [
    {
      "body": "<iframe src=\"https://www.facebook.com/ads/canvas/preview?d=AQKELApdJxoVp2f3PHl8-pRtYuAh4-_eDupMDbh-pS9zde_EFxckhYQCXu7NYUi4PhhBA7uskIo2Ys3IjIVNGZiS&t=AQKGOPqGI-NWcv1YKbA\" width=\"405\" height=\"720\" scrolling=\"yes\" style=\"border: none;\"></iframe>"
    }
  ],
  "__www_request_id__": "AQnyr47Qp2r5M-ISqSiMgrw"
}

Facebook SDK

Anda dapat menggunakan dialog ini untuk memberikan pratinjau Instant Experience sebagaimana yang dilihat oleh orang di Facebook dari situs web Anda. Untuk detail tentang komponen UI, lihat Dialog.

Siapkan Facebook SDK for JavaScript, lihat:

JavaScript SDK mengandalkan izin pengguna yang login untuk membuat Instant Experience. Jika pengguna tidak memiliki izin yang diperlukan untuk melihat Instant Experience, maka dialog akan menampilkan kesalahan.

Selanjutnya, picu dialog pratinjaunya:

FB.ui({         
  display: 'popup',
  method: 'instant_experiences_preview',
  canvas_id: 'CANVAS-ID'
});

Anda dapat menyediakan pengaturan ini untuk plugin:

NamaDiwajibkanDeskripsi

display

Ya

Parameter yang diperlukan dengan nilai popup yang telah ditetapkan

method

Ya

Parameter yang diperlukan dengan nilai instant_experiences_preview yang telah ditetapkan

canvas_id

Ya

ID Instant Experience yang ingin Anda lihat pratinjaunya

Membuat Pemirsa untuk Instant Experience

Untuk membuat pemirsa interaksi, pemirsa dari orang-orang yang telah berinteraksi dengan Instant Experience, atur parameter object_id dari kolom rule ke ID Instant Experience Anda (CANVAS-ID) dalam panggilan POST /act_AD-ACCOUNT/customaudiences.

Orang-orang yang membuka Instant Experience

curl \
  -F 'name=Instant Experience Engagement Audience' \
  -F 'description=People who opened this Instant Experience' \
  -F 'rule=[{"object_id":"<CANVAS_ID>","event_name":"instant_shopping_document_open"}]' \
  -F 'access_token=<ACCESS_TOKEN>' \  
https://graph.facebook.com/<VERSION>/act_<AD_ACCOUNT_ID>/customaudiences

Orang-orang yang mengeklik tautan di Instant Experience

curl \
  -F 'name=Instant Experience Engagement Audience' \
  -F 'description=People who clicked any links in this Instant Experience' \
  -F 'rule=[{"object_id":"<CANVAS_ID>","event_name":"instant_shopping_element_click"}]' \
  -F 'access_token=<ACCESS_TOKEN>' \  
https://graph.facebook.com/<VERSION>/act_<AD_ACCOUNT_ID>/customaudiences

Untuk mengetahui informasi selengkapnya tentang pemirsa khusus, lihat Pemirsa Khusus, Referensi.

Iklan Instant Experience dan Instagram

Penerapan Instant Experience dengan Instagram menggunakan panggilan API yang sama seperti yang Anda gunakan untuk Instant Experience di Facebook. Harap diperhatikan bahwa ada sejumlah batasan yang berlaku ketika Anda membuat Instagram dan Instant Experience:

  • Penempatan - Tersedia untuk Kabar Instagram dan Instagram Stories. Jika Anda memilih Instagram Stories, Anda harus memilih ini sebagai penempatan iklan eksklusif Anda.
  • Elemen Instant Experience - Sepenuhnya mendukung header dan set produk.

Kami mendukung sebagian elemen Instant Experience berikut di Instagram:

  • Footer - Tidak ada swipe to open di klien yang di-render sebagai Tap to open.
  • Carousel - Tidak ada foto yang tertaut ke Instant Experience lain, terlihat oleh klien sebagai tautan yang tidak dapat diklik. Untuk foto dan video, tidak cocok ke tinggi, tidak cocok ke lebar, atau miringkan untuk menggeser; ini di-render sebagai cocok ke lebar.
  • Tombol - Tidak dapat tertaut ke Instant Experience lain atau ke App Store.
  • Teks - Tidak ada dukungan bahasa RTL.
  • Video - Tidak ada video 360.
  • Pencari Lokasi Toko - Tidak didukung.

Insight Iklan

Lihat Insight Iklan untuk ringkasan dan deskripsi metrik yang tersedia.

Lihat Juga