Quảng cáo du lịch

Tự động quảng cáo danh sách cung ứng du lịch của bạn trên Facebook. Quảng cáo du lịch trên Facebook tận dụng tín hiệu ý định trên nhiều thiết bị để tự động quảng cáo các lựa chọn du lịch phù hợp trong danh sách cung ứng của bạn bằng nội dung độc đáo trên Facebook.

Quảng cáo du lịch hỗ trợ Quảng cáo khách sạn, Quảng cáo chuyến bayQuảng cáo điểm đến.

Hướng dẫn này giả định:

  • Bạn đã có sẵn một danh mục và nhóm sản phẩm.
  • Bạn đã thiết lập các sự kiện du lịch bắt buộc trên trang web hoặc trong ứng dụng di động của mình.
  • (Bắt buộc) Bạn đã tạo Trang Facebooktài khoản quảng cáo.

Chiến lược nhắm mục tiêu

Quảng cáo du lịch hỗ trợ nhiều chiến lược nhắm mục tiêu. Bạn có thể thúc đẩy các mục tiêu kinh doanh khác nhau bằng cách kết hợp đúng đối tượng với đúng nhóm sản phẩm:

  • Nhắm mục tiêu lại - Hiển thị khách sạn, điểm đến hoặc chuyến bay phù hợp cho những người đã truy cập vào trang web hoặc ứng dụng của bạn để tìm kiếm những thông tin này.

  • Bán chéo và bán nâng cấp - Nhắm mục tiêu các khách sạn phù hợp đến những người đã mua vé máy bay hoặc bán nâng cấp lựa chọn ưu tiên khi lên máy bay hoặc lựa chọn chỗ ngồi.

  • Tìm kiếm khách hàng tiềm năng - Mở rộng phạm vi tiếp cận của quảng cáo và tìm khách hàng mới bằng cách nhắm mục tiêu đến đối tượng tiềm năng.

Thiết lập quảng cáo du lịch

Khi tạo Quảng cáo du lịch, bạn sẽ làm theo quy trình giống với khi thiết lập bất kỳ loại quảng cáo nào khác trên Facebook thông qua API:

Bước 1. Tạo chiến dịch

Quảng cáo du lịch sử dụng mục tiêu PRODUCT_CATALOG_SALES. Hãy chỉ định một danh mục du lịch trong promoted_object ở cấp độ chiến dịch:

use FacebookAds\Object\Campaign;
use FacebookAds\Object\Fields\CampaignFields;
use FacebookAds\Object\Values\CampaignObjectiveValues;

$campaign = new Campaign(null, 'act_<AD_ACCOUNT_ID>');
$campaign->setData(array(
  CampaignFields::NAME => 'Product Catalog Sales Campaign',
  CampaignFields::OBJECTIVE => CampaignObjectiveValues::PRODUCT_CATALOG_SALES,
  CampaignFields::PROMOTED_OBJECT => array(
    'product_catalog_id' => <PRODUCT_CATALOG_ID>,
  ),
));

$campaign->create(array(
  Campaign::STATUS_PARAM_NAME => Campaign::STATUS_PAUSED,
));
from facebookads.adobjects.campaign import Campaign

campaign = Campaign(parent_id='act_<AD_ACCOUNT_ID>')
campaign[Campaign.Field.name] = 'Product Catalog Sales Campaign'
objective = Campaign.Objective.product_catalog_sales
campaign[Campaign.Field.objective] = objective
campaign[Campaign.Field.promoted_object] = {
    'product_catalog_id': <PRODUCT_CATALOG_ID>,
}

campaign.remote_create(params={
    'status': Campaign.Status.paused,
})
Campaign campaign = new AdAccount(act_<AD_ACCOUNT_ID>, context).createCampaign()
  .setName("Product Catalog Sales Campaign Group")
  .setObjective(Campaign.EnumObjective.VALUE_PRODUCT_CATALOG_SALES)
  .setPromotedObject("{\"product_catalog_id\":\"" + <PRODUCT_CATALOG_ID> + "\"}")
  .setStatus(Campaign.EnumStatus.VALUE_PAUSED)
  .execute();
String campaign_id = campaign.getId();
curl \
  -F 'name=Product Catalog Sales Campaign' \
  -F 'objective=PRODUCT_CATALOG_SALES' \
  -F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/campaigns

Bước 2. Tạo nhóm quảng cáo

Khi đã có chiến dịch và campaign_id, bạn có thể tạo nhóm quảng cáo. Nhóm quảng cáo sẽ xác định các tùy chọn đặt giá thầu và nhắm mục tiêu cho quảng cáo của bạn.

Nhắm mục tiêu lại

Để nhắm mục tiêu lại khách truy cập trang web hoặc ứng dụng, hãy sử dụng đối tượng động thuộc cùng một loại với nhóm sản phẩm mà bạn đang quảng cáo. Ví dụ: quảng cáo nhóm khách sạn cho đối tượng khách sạn, nhóm chuyến bay cho đối tượng chuyến bay và nhóm điểm đến cho đối tượng điểm đến.

Bán chéo và bán nâng cấp

Để bán chéo và bán nâng cấp cho những người đã mua hàng trên trang web và/hoặc ứng dụng của bạn, hãy sử dụng một đối tượng động gồm những người đã mua hàng, sau đó quảng cáo cho họ các lựa chọn du lịch từ một danh mục khác. Ví dụ: nhắm mục tiêu một nhóm khách sạn hoặc một nhóm chuyến bay khác có thể lựa chọn chỗ ngồi đến đối tượng mua vé máy bay.

Tìm kiếm khách hàng tiềm năng

  • Tạo đối tượng bằng tùy chọn nhắm mục tiêu theo thông tin nhân khẩu học cơ bản, chẳng hạn như phụ nữ trên 18 tuổi ở Hoa Kỳ.
  • Bao gồm các khách hàng thuộc chiến dịch nhắm mục tiêu lại hiện có, nhưng cân nhắc loại trừ những người đã mua hàng trong 10 ngày qua.
  • Sử dụng nhóm sản phẩm rộng có hơn 100 khách sạn.
  • Tối ưu hóa cho OFFSITE_CONVERSIONS thông qua các tín hiệu thể hiện ý định một cách rõ ràng hơn như Purchase hoặc InitiateCheckout.

Hãy xem thêm phần Quảng cáo danh mục Advantage+, Nhắm mục tiêu đối tượng rộng

Ví dụ về tạo nhóm quảng cáo

use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Fields\TargetingFields;
use FacebookAds\Object\Values\AdSetBillingEventValues;
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;

$adset = new AdSet(null, 'act_<AD_ACCOUNT_ID>');

$adset->setData(array(
  AdSetFields::NAME => 'Product Catalog Sales Adset',
  AdSetFields::BID_AMOUNT => 3000,
  AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
  AdSetFields::OPTIMIZATION_GOAL =>
    AdSetOptimizationGoalValues::OFFSITE_CONVERSIONS,
  AdSetFields::DAILY_BUDGET => 15000,
  AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
  AdSetFields::TARGETING => array(
    TargetingFields::GEO_LOCATIONS => array(
      'countries' => array('US'),
    ),
    TargetingFields::DYNAMIC_AUDIENCE_IDS => array(<DYNAMIC_AUDIENCE_ID>),
  ),
  AdSetFields::PROMOTED_OBJECT => array(
    'product_set_id' => <PRODUCT_SET_ID>,
  ),
));

$adset->create(array(
  AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED,
));
from facebookads.adobjects.adset import AdSet
from facebookads.adobjects.targeting import Targeting

adset = AdSet(parent_id=ad_account_id)
adset[AdSet.Field.name] = 'Product Catalog Sales Adset'
adset[AdSet.Field.bid_amount] = 3000
adset[AdSet.Field.billing_event] = AdSet.BillingEvent.impressions
adset[AdSet.Field.optimization_goal] = \
    AdSet.OptimizationGoal.offsite_conversions
adset[AdSet.Field.daily_budget] = 15000
adset[AdSet.Field.campaign_id] = campaign_id
adset[AdSet.Field.targeting] = {
    Targeting.Field.geo_locations: {
        Targeting.Field.countries: ['US'],
    },
    Targeting.Field.dynamic_audience_ids: [
        dynamic_audience_id,
    ],
}
adset[AdSet.Field.promoted_object] = {
    'product_set_id': product_set_id,
}

adset.remote_create()
AdSet adSet = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAdSet()
  .setName("Product Catalog Sales Adset")
  .setBidAmount(3000L)
  .setBillingEvent(AdSet.EnumBillingEvent.VALUE_IMPRESSIONS)
  .setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_OFFSITE_CONVERSIONS)
  .setDailyBudget(15000L)
  .setCampaignId(<CAMPAIGN_ID>)
  .setTargeting(
    new Targeting()
      .setFieldDynamicAudienceIds(Arrays.asList(<DYNAMIC_AUDIENCE_ID>))
      .setFieldGeoLocations(
        new TargetingGeoLocation()
          .setFieldCountries(Arrays.asList("US"))
      )
  )
  .setPromotedObject("{\"product_set_id\":\"" + <PRODUCT_SET_ID> + "\"}")
  .setStatus(AdSet.EnumStatus.VALUE_PAUSED)
  .execute();
String ad_set_id = adSet.getId();
curl \
  -F 'name=Product Catalog Sales Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'optimization_goal=OFFSITE_CONVERSIONS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ 
    "geo_locations": {"countries":["US"]}, 
    "dynamic_audience_ids": ["<DYNAMIC_AUDIENCE_ID>"] 
  }' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets

Quảng cáo du lịch không hỗ trợ quy cách nhắm mục tiêu đối tượng động nội tuyến trong Nhóm quảng cáo. Trước tiên, bạn phải tạo một đối tượng riêng biệt.

Bước 3. Tạo nội dung quảng cáo

Bạn có thể sử dụng thẻ mẫu trong nội dung quảng cáo của mình cho Quảng cáo du lịch. Khi hiển thị quảng cáo của bạn, Facebook sẽ thay các thẻ mẫu bằng lựa chọn du lịch thực tế của người dùng. Bạn có thể sử dụng thẻ mẫu trong chính quảng cáo đó cũng như trong URL mà ai đó nhìn thấy sau khi họ nhấp vào quảng cáo.

Hãy sử dụng trường template_url_spec để chỉ định URL xuất hiện sau khi ai đó nhấp vào quảng cáo. Nếu bạn không cung cấp URL hoặc chúng tôi không thể lấy URL đó khi hiển thị quảng cáo, chúng tôi sẽ hiển thị URL của danh mục. Đối với Quảng cáo chuyến bay, trường này sẽ là trường bắt buộc nếu bạn không cung cấp URL trong danh mục.

Bạn có thể hiển thị một mặt hàng hoặc một thẻ quay vòng có nhiều mặt hàng. Đối với quảng cáo một mặt hàng, bạn có thể hiển thị nhiều hình ảnh của cùng một mặt hàng trong thẻ quay vòng nếu danh mục của bạn chứa nhiều hình ảnh cho mỗi mặt hàng. Bạn cũng có thể hiển thị thẻ tĩnh cùng với thẻ động. Để biết thêm thông tin về các tùy chọn nội dung, hãy xem phần Quảng cáo danh mục Advantage+, Tạo mẫu nội dung.

Dưới đây là ví dụ minh họa cách tạo nội dung quay vòng cho Quảng cáo khách sạn. Quảng cáo điểm đếnQuảng cáo chuyến bay sẽ có cách thiết lập tương tự nhau.

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

$object_story_spec = new AdCreativeObjectStorySpec();
$object_story_spec->setData(array(
  AdCreativeObjectStorySpecFields::PAGE_ID => <PAGE_ID>,
  AdCreativeObjectStorySpecFields::TEMPLATE_DATA =>
    (new AdCreativeLinkData())->setData(array(
      AdCreativeLinkDataFields::MESSAGE =>
        'Book your upcoming stay in {{hotel.city}}',
      AdCreativeLinkDataFields::NAME => '{{hotel.name | titleize}}',
      AdCreativeLinkDataFields::LINK => '<LINK>',
      AdCreativeLinkDataFields::DESCRIPTION =>
        '{{hotel.description}}',
      AdCreativeLinkDataFields::ADDITIONAL_IMAGE_INDEX => 0,
      AdCreativeLinkDataFields::CALL_TO_ACTION => array(
        'type' => AdCreativeCallToActionTypeValues::BOOK_TRAVEL,
      ),
    )),
));

$creative = new AdCreative(null, 'act_<AD_ACCOUNT_ID>');
$creative->setData(array(
  AdCreativeFields::NAME => 'Dynamic Ad Template Creative Sample',
  AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec,
  AdCreativeFields::TEMPLATE_URL_SPEC =>
    array(
      'config' => array(
        'app_id' => '123456789012345',
      ),
      'ios' => array(
        'url' => 'example://home/hotel'.
          '?id={{hotel.hotel_id | urlencode}}'.
          '&startDate={{trip.checkin_date date_format:Y-m-d | urlencode}}'.
          '&endDate={{trip.checkout_date date_format:Y-m-d | urlencode}}',
      ),
      'web' => array(
        'url' => 'http://www.example.com/hotel'.
          '?id={{hotel.hotel_id | urlencode}}'.
          '&startDate={{trip.checkin_date date_format:Y-m-d | urlencode}}'.
          '&endDate={{trip.checkout_date date_format:Y-m-d | urlencode}}',
      )
    ),
  AdCreativeFields::PRODUCT_SET_ID => <PRODUCT_SET_ID>,
));

$creative->create();
from facebookads.adobjects.adcreative import AdCreative
from facebookads.adobjects.adcreativeobjectstoryspec \
    import AdCreativeObjectStorySpec

story = AdCreativeObjectStorySpec()
story[story.Field.page_id] = <PAGE_ID>
story[story.Field.template_data] = {
    'message': 'Book your upcoming stay in {{hotel.city}}',
    'name': '{{hotel.name | titleize}}',
    'link': '<LINK>',
    'description': '{{hotel.description}}',
    'additional_image_index': 0,
    'call_to_action': {
        'type': 'BOOK_TRAVEL',
    },
}

creative = AdCreative(parent_id='act_<AD_ACCOUNT_ID>')
creative[AdCreative.Field.name] = 'Dynamic Ad Template Creative Sample'
creative[AdCreative.Field.object_story_spec] = story
template_url = ('http://www.example.com/hotel.aspx?id={{hotel.hotel_id}}'
                '&startDate={{trip.checkin_date date_format:Y-m-d}}'
                '&endDate={{trip.checkout_date date_format:Y-m-d}}')
creative[AdCreative.Field.template_url] = template_url
creative[AdCreative.Field.product_set_id] = <PRODUCT_SET_ID>
creative.remote_create()
curl \
  -F 'name=Dynamic Ad Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "additional_image_index": 0, 
      "call_to_action": {"type":"BOOK_TRAVEL"}, 
      "description": "{{hotel.description}}", 
      "link": "<LINK>", 
      "message": "Book your upcoming stay in {{hotel.city}}", 
      "name": "{{hotel.name | titleize}}" 
    } 
  }' \
  -F 'template_url_spec={ 
    "config": {"app_id":"123456789012345"}, 
    "ios": { 
      "url": "example:\/\/home\/hotel?id={{hotel.hotel_id | urlencode}}&startDate={{trip.checkin_date date_format:Y-m-d | urlencode}}&endDate={{trip.checkout_date date_format:Y-m-d | urlencode}}" 
    }, 
    "web": { 
      "url": "http:\/\/www.example.com\/hotel?id={{hotel.hotel_id | urlencode}}&startDate={{trip.checkin_date date_format:Y-m-d | urlencode}}&endDate={{trip.checkout_date date_format:Y-m-d | urlencode}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adcreatives

Bán nâng cấp chuyến bay (chỉ dành cho API v2.10 trở lên)

Cách bán nâng cấp các lựa chọn - chẳng hạn như lựa chọn chỗ ngồi hoặc ưu tiên khi lên máy bay - cho đối tượng đã mua vé máy bay:

  1. Cung cấp đối tượng bằng cách chỉ thêm các sự kiện PURCHASE.
  2. (Ưu tiên) Trong recommender_settings của nội dung quảng cáo, hãy chỉ định các sự kiện PURCHASE để đề xuất quảng cáo.
curl \
  -F 'name=Advantage+ Catalog Ad Template Creative Up-sell Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "additional_image_index": 0, 
      "call_to_action": {"type":"LEARN_MORE"}, 
      "description": "{{flight.description}}", 
      "link": "<LINK>", 
      "message": "Book extra leg room on your flight from {{flight.origin_city}} to {{flight.destination_city}}", 
    } 
  }' \
  -F 'template_url_spec={ 
    "config": {"app_id":"<APP_ID>"}, 
    "ios": { 
      "url": "example:\/\/home\/flight?id={{flight.origin_airport}}&startDate={{trip.departing_departure_date date_format:Y-m-d | urlencode}}&endDate={{trip.returning_departure_date date_format:Y-m-d | urlencode}}" 
    }, 
    "web": { 
      "url": "http:\/\/www.example.com\/flight?id={{flight.origin_airport}}&startDate={{trip.checkin_date date_format:Y-m-d | urlencode}}&endDate={{trip.returning_departure_date date_format:Y-m-d | urlencode}}" 
    } 
  }' \
  -F 'product_set_id=<FLIGHT_SET_ID>' \
  -F 'recommender_settings'={"preferred_events":["Purchase"]}\ 
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/VERSION/act_<AD_ACCOUNT_ID>/adcreatives

Thiết kế lớp phủ

Lớp phủ cho phép nhà quảng cáo thêm thông tin về giá (dưới dạng giá trực tiếp hoặc phần trăm giảm giá) cho từng mặt hàng trong quảng cáo danh mục Advantage+.

Tùy chọn lớp phủ theo loại danh mục

Bạn có thể sử dụng các loại lớp phủ sau đây tùy theo loại danh mục mình dùng trong nhóm quảng cáo:

  • Khách sạn: price, strikethrough% off
  • Điểm đến: price
  • Chuyến bay: price

Lưu ý: Tất cả các thẻ mẫu liên quan đến giá cho từng loại danh mục đều được hỗ trợ cho các tùy chọn lớp phủ nêu trên. Để xem thẻ mẫu cho từng loại danh mục, hãy tham khảo phần khách sạn, điểm đếnchuyến bay.

Tùy chọn thiết kế lớp phủ

Thông tin về giá được lấy tự động từ cột giá và giá bán trong nguồn cấp dữ liệu. Nhà quảng cáo có thể chọn trong số các phần tùy chỉnh sau đây cho lớp phủ quảng cáo danh mục Advantage+:

  • Hình dạng: Hình trụ, hình tròn và hình tam giác.
  • Vị trí: 4 góc cố định: TOP_LEFT, TOP_RIGHT, BOTTOM_LEFTBOTTOM_RIGHT. Chỉ hỗ trợ góc TOP_LEFTTOP_RIGHT đối với hình tam giác.
  • Phông chữ: Danh sách các phông chữ đặt sẵn, chẳng hạn như Droid Serif, Open Sans, v.v.
  • Các loại lớp phủ được hỗ trợ: price, strikethrough% off. Lưu ý: strikethrough% off chỉ có sẵn cho khách sạn.

Tìm hiểu thêm về cách thêm lớp phủ.

Dưới đây là ví dụ minh họa lớp phủ giá có giá gạch ngang đối với quảng cáo khách sạn

curl \
  -F 'name=Test Templates in Overlay' \
  -F 'object_story_spec={
    "page_id": "<PAGE_ID>",
    "template_data": {
      "description": "Description",
      "link": "<LINK>", 
      "name": "Name: {{hotel.name}}",
      "message" : "Come visit {{hotel.city}}!",
      "image_overlay_spec": {
        "overlay_template":"pill_with_text",
        "text_font":"droid_serif_regular",
        "text_type":"strikethrough_price",
        "position":"top_left",
        "theme_color":"background_e50900_text_ffffff",
        "float_with_margin":"true",
        "text_template_tags": ["{{hotel.price round}}", "{{hotel.sale_price round}}"],
      }
    }
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'template_url=http://www.example.com' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.10/act_897427477067185/adcreatives

Để tạo quảng cáo, hãy sử dụng ad_set_idcreative_id.

curl -X POST \ -F 'name="My Ad"' \ -F 'adset_id="<AD_SET_ID>"' \ -F 'creative={ "creative_id": "<CREATIVE_ID>" }' \ -F 'status="PAUSED"' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const Ad = bizSdk.Ad; 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 = { 'name' : 'My Ad', 'adset_id' : '<adSetID>', 'creative' : {'creative_id':'<adCreativeID>'}, 'status' : 'PAUSED', }; const ads = (new AdAccount(id)).createAd( fields, params ); logApiCallResult('ads api call complete.', ads);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; use FacebookAds\Object\Ad; 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( 'name' => 'My Ad', 'adset_id' => '<adSetID>', 'creative' => array('creative_id' => '<adCreativeID>'), 'status' => 'PAUSED', ); echo json_encode((new AdAccount($id))->createAd( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount from facebook_business.adobjects.ad import Ad 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 = { 'name': 'My Ad', 'adset_id': '<adSetID>', 'creative': {'creative_id':'<adCreativeID>'}, 'status': 'PAUSED', } print AdAccount(id).create_ad( 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).createAd() .setName(\"My Ad\") .setAdsetId(<adSetID>L) .setCreative( new AdCreative() .setFieldId(\"<adCreativeID>\") ) .setStatus(Ad.EnumStatus.VALUE_PAUSED) .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) ads = ad_account.ads.create({ name: 'My Ad', adset_id: '<adSetID>', creative: {'creative_id':'<adCreativeID>'}, status: 'PAUSED', })

Bước tiếp theo

Xem trước quảng cáo

Bạn có thể tạo bản xem trước nội dung Advantage+ cho danh mục bằng API Xem trước quảng cáo. Hãy thêm thông số product_item_ids để chỉ định mặt hàng nào trong danh mục sẽ hiển thị trong bản xem trước đó.

Tạo bản xem trước cho quảng cáo của bạn bằng API Xem trước quảng cáo. Hãy thêm thông số product_item_ids để chỉ định mặt hàng nào trong danh mục sẽ xuất hiện trong bản xem trước đó, rồi thêm thông số start_dateend_date để chỉ định các ngày cụ thể.

curl -X GET \ -d 'ad_format="DESKTOP_FEED_STANDARD"' \ -d 'product_item_ids=[ "<PRODUCT_ITEM_ID>" ]' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/<CREATIVE_ID>/previews
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdCreative = bizSdk.AdCreative; const AdPreview = bizSdk.AdPreview; 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 = [ ]; params = { 'ad_format' : 'DESKTOP_FEED_STANDARD', 'product_item_ids' : ['<productItemID>'], }; const previewss = (new AdCreative(id)).getPreviews( fields, params ); logApiCallResult('previewss api call complete.', previewss);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdCreative; use FacebookAds\Object\AdPreview; 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( ); $params = array( 'ad_format' => 'DESKTOP_FEED_STANDARD', 'product_item_ids' => array('<productItemID>'), ); echo json_encode((new AdCreative($id))->getPreviews( $fields, $params )->getResponse()->getContent(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adcreative import AdCreative from facebook_business.adobjects.adpreview import AdPreview 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 = [ ] params = { 'ad_format': 'DESKTOP_FEED_STANDARD', 'product_item_ids': ['<productItemID>'], } print AdCreative(id).get_previews( 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).getPreviews() .setAdFormat(AdPreview.EnumAdFormat.VALUE_DESKTOP_FEED_STANDARD) .setProductItemIds(\"[\\"<productItemID>\\"]\") .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) previewss = ad_creative.previews({ fields: { }, ad_format: 'DESKTOP_FEED_STANDARD', product_item_ids: ['<productItemID>'], })

Thông số

Tên và loại trường Mô tả

product_item_ids

loại: array[string]

  • Khách sạn: Danh sách FBID của khách sạn hoặc mã ID khách sạn có URL được mã hóa Base64. Mỗi mã đều có dạng hotel_catalog:{catalog_id}:{base64urlencode(hotel_id)}
  • Điểm đến: Danh sách FBID của điểm đến hoặc mã ID điểm đến có URL được mã hóa Base64. Mỗi mã đều có dạng destination_catalog:{catalog_id}:{base64urlencode(destination_id)}
  • Chuyến bay: FBID của chuyến bay hoặc mã ID của chuyến bay có URL được mã hóa Base64. Mỗi mã đều có dạng flight_catalog:{catalog_id}:{base64urlencode(destination_id)}

start_date

loại: string

Hiển thị bản xem trước có tín hiệu thể hiện ý định của người dùng, ví dụ: 24-12-2016.

  • Đối với khách sạn, đây sẽ là giá trị của trip.checkin_date
  • Đối với điểm đến, đây sẽ là giá trị của trip.travel_start
  • Đối với chuyến bay, đây sẽ là giá trị của trip.departing_departure_date

end_date

loại: string

Hiển thị bản xem trước có tín hiệu thể hiện ý định của người dùng; ví dụ: 01-01-2017.

  • Đối với khách sạn, đây sẽ là giá trị của trip.checkout_date
  • Đối với điểm đến, đây sẽ là giá trị của trip.travel_end
  • Đối với chuyến bay, đây sẽ là giá trị của trip.returning_departure_date

Tìm nạp thông tin chi tiết và số liệu thống kê về quảng cáo du lịch

Để tìm nạp Thông tin chi tiết về quảng cáo cho đối tượng du lịch - chẳng hạn như khách sạn, hãy thực hiện lệnh gọi GET đến /insights. Lưu ý: Hãy nhớ thêm product_id vào thông số breakdown.

Đối với khách sạn và điểm đến, số liệu chia nhỏ product id sẽ hiển thị cho từng hotel_id hoặc destination_id. Đối với chuyến bay, số liệu chia nhỏ product id sẽ hiển thị origin_airport:destination_airport.

Tìm nạp bình luận và lượt thích

Để truy xuất bình luận hoặc "Lượt thích" của quảng cáo danh mục Advantage+, hãy sử dụng API Bài viết động.