Trải nghiệm tức thì

Trải nghiệm tức thì là một đích đến quảng cáo toàn màn hình, gần như tải ngay sau khi người dùng nhấp vào quảng cáo trên Bảng feed.

Nếu bạn thấy bất kỳ trường hợp nào nhắc đến canvas trong API thì tức là đang nói đến Trải nghiệm tức thì. Canvas là tên cũ của định dạng này.

Trước khi bạn bắt đầu

Để tạo và quản lý Trải nghiệm tức thì, bạn cần:

Các giới hạn

  • Bạn chỉ có thể cập nhật Trải nghiệm tức thì chưa đăng.
  • API Trải nghiệm tức thì có sẵn cho Instagram ở mức giới hạn.
  • Facebook Stories không hỗ trợ quảng cáo sử dụng Trải nghiệm tức thì.

Tạo

Để tạo Trải nghiệm tức thì, bạn cần có ID của Trang Facebook (PAGE-ID) và bất kỳ thành phần nào (chẳng hạn như ảnh, nút và văn bản) mà bạn muốn đưa vào trải nghiệm của mình.

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

Thành phần

TênMô tả

Nút

Nút trong một Trải nghiệm tức thì. Trường button_style là bắt buộc.

Thẻ quay vòng

Thẻ quay vòng cho Trải nghiệm tức thì.

Chân trang

Chân trang cho Trải nghiệm tức thì.

Đầu trang

Đầu trang cho Trải nghiệm tức thì.

Ảnh

Ảnh trong Trải nghiệm tức thì. Bạn cần cung cấp PHOTO-ID cho ảnh được tải lên Trang Facebook.

Danh sách sản phẩm

Danh sách sản phẩm cho Trải nghiệm tức thì.

Nhóm sản phẩm

Một nhóm sản phẩm từ danh mục sản phẩm cho quảng cáo danh mục Advantage+ được hiển thị trong Trải nghiệm tức thì.

Công cụ tìm vị trí cửa hàng

Công cụ tìm vị trí cửa hàng trong Trải nghiệm tức thì.

Văn bản

Văn bản và kiểu văn bản được hiển thị trong Trải nghiệm tức thì.

Video

Video trong Trải nghiệm tức thì. Bạn cần cung cấp VIDEO-ID cho video được tải lên Trang Facebook.

Xóa thành phần

Để xóa một thành phần, bạn cần gửi yêu cầu DELETE kèm theo ID của thành phần mà bạn muốn xóa.

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>

Lấy Trải nghiệm tức thì có sẵn

Để lấy thông tin về một Trải nghiệm tức thì có sẵn, bạn cần có ID của Trải nghiệm tức thì đó (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>

Lấy tất cả các Trải nghiệm tức thì cho một Trang

Để lấy thông tin về tất cả các Trải nghiệm tức thì có sẵn cho một Trang Facebook, bạn cần có ID của Trang đó (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

Cập nhật Trải nghiệm tức thì

Để cập nhật một Trải nghiệm tức thì, bạn phải hủy đăng trải nghiệm đó và cần có ID của Trải nghiệm tức thì (CANVAS-ID) và bất kỳ ID thành phần nào bạn muốn cập nhật.

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>

Sử dụng mẫu

Bạn có thể sử dụng mẫu để tạo nhanh Trải nghiệm tức thì cho một mục tiêu kinh doanh cụ thể. Bố cục cho từng mẫu là cố định. Tuy nhiên, bạn có thể thay nội dung mặc định bằng hình ảnh, video, sản phẩm, văn bản và liên kết của mình.

Tên mẫu APIID mẫuMô tả

Thu hút khách hàng mới

133471657203838

Tăng lượt chuyển đổi với trang đích di động khuyến khích hành động. Mẫu Chinh phục khách hàng mới trong Trình quản lý quảng cáo.

Giới thiệu doanh nghiệp của bạn

1063217037112304

Mang đến cho mọi người cách hấp dẫn để khám phá thương hiệu, sản phẩm hoặc dịch vụ của bạn. Mẫu Kể chuyện trong Trình quản lý quảng cáo.

Bán sản phẩm (Không có danh mục)

424787857903852

Tạo trải nghiệm mua sắm trên di động bằng cách tải lên thông tin sản phẩm thay vì sử dụng danh mục. Mẫu Bán sản phẩm (Không có danh mục) trong Trình quản lý quảng cáo.

Bán sản phẩm: Bố cục lối sống

1369752616394017

Hãy để mọi người trực tiếp khám phá sản phẩm của bạn bằng việc nêu bật sản phẩm trong những bức ảnh.Mẫu Lookbook trong Trình quản lý quảng cáo.

Bán sản phẩm: Bố cục lưới

1932289657009030

Sử dụng danh mục sản phẩm của bạn để tạo trải nghiệm cho phép mọi người mua hàng trực tiếp trên điện thoại di động của họ. Mẫu Cửa hàng trong Trình quản lý quảng cáo.

Trải nghiệm AR

Mẫu Trải nghiệm AR chỉ có sẵn thông qua Trình quản lý quảng cáo.

Lấy loại thành phần cho mẫu

Bước 1. Lấy thông tin tài liệu cho mẫu

Gửi yêu cầu GET để xác định thành phần nào là cần thiết cho mẫu cụ thể, ở đây là mẫu Thu hút khách hàng mới trong ví dụ sau.

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

Phản hồi mẫu

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

Bước 2. Lấy loại thành phần

Sử dụng ID cho trường document để lấy các thành phần cụ thể có sẵn cho mẫu nhất định.

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

Danh sách được trả về hiển thị các loại thành phần có thể sử dụng trong mẫu Thu hút khách hàng mới.

    {
  "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"
}

Đăng

Để đăng quảng cáo Trải nghiệm tức thì, bạn cần gửi yêu cầu POST đến ID Trải nghiệm tức thì (CANVAS-ID) và đặt trường is_publishedtrue.

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>

Tạo nội dung quảng cáo

Tạo nội dung quảng cáo bằng liên kết cho một Trải nghiệm tức thì có sẵn (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'}}}, })

Sau khi nội dung đã sẵn sàng, bạn có thể tiếp tục tạo nhóm quảng cáo và chiến dịch quảng cáo.

Hộp thoại quảng cáo Trải nghiệm tức thì

Bạn có thể sử dụng Hộp thoại quảng cáo Trải nghiệm tức thì để cung cấp giao diện người dùng tạo quảng cáo Trải nghiệm tức thì trên Facebook cho trang web của mình. Để biết thông tin chi tiết về thành phần giao diện người dùng, hãy xem Hộp thoại.

Nếu bạn muốn thiết lập Facebook SDK dành cho JavaScript, hãy xem:

JavaScript SDK dựa vào quyền của người dùng đã đăng nhập để tạo Trải nghiệm tức thì. Nếu người dùng chưa có quyền cần thiết để tạo Trải nghiệm tức thì cho trang và doanh nghiệp đã cung cấp, thì hộp thoại sẽ hiển thị lỗi. Để đảm bảo không xảy ra lỗi, người dùng phải thuộc doanh nghiệp đó và có quyền "tạo quảng cáo" cho trang đó.

Sau đó, kích hoạt hộp thoại:

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

Bạn có thể cung cấp các cài đặt sau cho plugin:

TênBắt buộcMô tả

display

Thông số cần thiết với giá trị thiết lập là popup

method

Thông số cần thiết với giá trị thiết lập là instant_experiences_builder

business_id

ID doanh nghiệp của bạn

page_id

ID Trang mà bạn muốn liên kết với Trải nghiệm tức thì

canvas_id

Không

ID Trải nghiệm tức thì mà bạn muốn chỉnh sửa

canvas_id là thông số không bắt buộc và cho phép người dùng chỉnh sửa hoặc xem trước một Trải nghiệm tức thì có sẵn. Bạn không thể chỉnh sửa một Trải nghiệm tức thì sau khi trải nghiệm đó hoàn tất. Để xem trước một Trải nghiệm tức thì, bạn nên sử dụng Hộp thoại xem trước Trải nghiệm tức thì.

Khi thiết lập thành công, plugin sẽ đưa ra phản hồi sau:

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

ID trả về là Trải nghiệm tức thì đã đăng. Bạn hiện có thể sử dụng ID đó trong chiến dịch quảng cáo. Nếu có phản hồi undefined hoặc không phản hồi nào được trả về, tức là người xem đã đóng hộp thoại trước khi hoàn tất Trải nghiệm tức thì. Người dùng có thể đã lưu Trải nghiệm tức thì mà chưa hoàn tất trải nghiệm đó. Bạn có thể kéo mọi Trải nghiệm tức thì thuộc một trang thông qua API Đồ thị để xem có trải nghiệm nào chưa hoàn tất không.

Xem trước Trải nghiệm tức thì

API Bản xem trước iframe

Bạn có thể tạo bản xem trước Trải nghiệm tức thì bằng cách gọi API bản xem trước. API này sẽ trả về một iframe, tương tự như API bản xem trước quảng cáo:

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

Phản hồi của API nêu trên có dạng như sau. Bạn có thể xem phản hồi này bằng cách nhúng thành phần iframe được trả về vào 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

Bạn có thể sử dụng hộp thoại này để xem trước Trải nghiệm tức thì như khi người dùng Facebook nhìn thấy trên trang web của bạn. Để biết chi tiết về thành phần giao diện người dùng, hãy xem phần Hộp thoại.

Nếu bạn muốn thiết lập Facebook SDK dành cho JavaScript, hãy xem:

JavaScript SDK dựa vào quyền của người dùng đã đăng nhập để tạo Trải nghiệm tức thì. Nếu người dùng chưa có quyền cần thiết để xem Trải nghiệm tức thời, hộp thoại sẽ hiển thị lỗi.

Sau đó, kích hoạt hộp thoại xem trước:

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

Bạn có thể cung cấp các cài đặt sau cho plugin:

TênBắt buộcMô tả

display

Thông số cần thiết với giá trị thiết lập là popup

method

Thông số cần thiết với giá trị thiết lập là instant_experiences_preview

canvas_id

ID của Trải nghiệm tức thì mà bạn muốn xem trước

Tạo đối tượng cho Trải nghiệm tức thì

Để tạo đối tượng tương tác, đối tượng gồm những người đã tương tác với Trải nghiệm tức thì, hãy đặt thông số object_id của trường rule thành ID Trải nghiệm tức thì (CANVAS-ID) trong lệnh gọi POST /act_AD-ACCOUNT/customaudiences của bạn.

Những người đã mở Trải nghiệm tức thì

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

Những người đã nhấp vào liên kết bất kỳ trong Trải nghiệm tức thì

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

Hãy xem phần Đối tượng tùy chỉnh, Tài liệu tham khảo để biết thêm thông tin liên quan đến các đối tượng tùy chỉnh.

Trải nghiệm tức thì và quảng cáo trên Instagram

Triển khai Trải nghiệm tức thì với Instagram bằng cùng các lệnh gọi API mà bạn sử dụng cho Trải nghiệm tức thì trên Facebook. Lưu ý rằng sẽ có các giới hạn khi bạn sử dụng Instagram và Trải nghiệm tức thì:

  • Vị trí quảng cáo - Có sẵn cho Bảng tin Instagram và Instagram Stories. Nếu chọn Instagram Stories, bạn phải chọn vị trí này làm vị trí quảng cáo duy nhất của mình.
  • Thành phần Trải nghiệm tức thì - Hỗ trợ đầy đủ đầu trang và các nhóm sản phẩm.

Chúng tôi hỗ trợ một phần các thành phần Trải nghiệm tức thì sau đây trên Instagram:

  • Chân trang - Không có swipe to open trong các ứng dụng, thông tin này hiển thị thành Tap to open.
  • Thẻ quay vòng - Không có ảnh liên kết đến Trải nghiệm tức thì khác; trong ứng dụng, định dạng này xuất hiện dưới dạng liên kết không thể nhấp vào. Đối với ảnh và video, không khớp với chiều cao, không khớp với chiều rộng hoặc nghiêng để xem thêm; ảnh/video này hiển thị dưới dạng khớp với chiều rộng.
  • Nút - Không thể liên kết đến Trải nghiệm tức thì khác hoặc đến Cửa hàng ứng dụng.
  • Văn bản - Không hỗ trợ ngôn ngữ RTL.
  • Video - Không có video 360.
  • Công cụ tìm vị trí cửa hàng - Không hỗ trợ.

Thông tin chi tiết về quảng cáo

Hãy xem Thông tin chi tiết về quảng cáo để biết thông tin tổng quan và nội dung mô tả về những số liệu hiện có.

Xem thêm