Automatically promote your travel inventory on Facebook. Facebook’s travel ads leverage cross-device intent signals to automatically promote relevant travel options from your inventory with unique creatives on Facebook.
Travel ads supports Hotel Ads, Flight Ads, and Destination Ads.
This guide assumes:
Travel ads support different targeting strategies. You can drive different business objectives by combining the right audience with the right product set:
Retargeting—Show relevant hotels, destinations or flights to people who have been to your website or app looking for hotels, destinations or flights.
Cross-sell and upsell—Target people who have purchased a flight with relevant hotels, or upsell priority boarding or seat selection.
Prospecting—Expand the reach of your ad and find new customers by targeting prospecting audiences.
When you create Travel ads, you follow the same process as you do when you set up any other type of Facebook ad with the API:
Travel ads use the PRODUCT_CATALOG_SALES objective. Specify a travel catalog in promoted_object at the campaign level:
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/v24.0/act_<AD_ACCOUNT_ID>/campaigns
Once you have the campaign and the campaign_id, you can create the ad set. The ad set defines the bidding and targeting options for your ads.
To retarget the website or app visitors, use a dynamic audience of the same type as the product set you are promoting; for example, promote a hotel set to a hotel audience, a flight set to a flight audience and a destination set to a destination audience.
To cross-sell and upsell people that purchased on your website and/or app, use a dynamic audience that contains people that have made a purchase, and promote them travel options from another catalog; for example, target a flight purchase audience with a hotel set or another flight set, highlighting seat selection.
OFFSITE_CONVERSIONS with stronger intent signals, such as Purchase or InitiateCheckout. See also Advantage+ Catalog Ads, Broad Audience Targeting
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/v24.0/act_<AD_ACCOUNT_ID>/adsets
Travel ads does not support inline dynamic audience targeting specs in the Ad Set. You must separately create an audience first.
You can use template tags in your ad creatives for Travel ads. When Facebook displays your ad, we replace template tags with someone's actual travel choices. You can use template tags in the ad itself and in the URL someone sees once they click the ad.
Use the template_url_spec field to specify the URL that appears after someone clicks the ad. If you don't provide it, or we can't derive it when we render an ad, we display the URL from the catalog. For Flight Ads, this field is required if you don't provide a URL in the catalog.
You can show a single item or a carousel with multiple items. For single-item ads, you can show multiple images of the same item in the carousel, assuming your catalog contains multiple images for each item. You can also display static cards in combination with dynamic cards. For more information about creative options, see Advantage+ Catalog Ads, Building a Creative Template.
The following example shows how to create a carousel creative for Hotel Ads. Destination Ads and Flight Ads have a similar setup.
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/v24.0/act_<AD_ACCOUNT_ID>/adcreatives
To upsell options, such as seat selection or priority boarding, to an audience that purchased flights:
PURCHASE events.recommender_settings, specify PURCHASE events to recommend ads.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>/adcreativesOverlays allow advertisers to add pricing information (as a direct price or percentage off) for each item within Advantage+ catalog ads.
You can use the following overlay types, depending on the catalog type you use in the ad set:
price, strikethrough and % offpricepriceNote: All price-related template tags for each catalog type are supported for the overlay options above. To view template tags for each catalog type, see hotels, destinations, and flights.
The pricing information is dynamically pulled from the price and sale price columns of the feed. Advertisers can select from the following customizations for their Advantage+ catalog ads overlay:
TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, and BOTTOM_RIGHT. For triangle, only the TOP_LEFT and TOP_RIGHT are supported.price, strikethrough and % off. Note: strikethrough and % off are available for hotels only.Learn more about how to add overlays.
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/adcreativesTo create the ad, use ad_set_id and creative_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/v24.0/act_<AD_ACCOUNT_ID>/ads
You can generate a preview of your Advantage+ creative for catalog with the Ad Previews API. Include the product_item_ids parameter to specify which catalog items display in the preview.
Generate a preview of your ad with the Ad Previews API. Include the product_item_ids to specify which catalog items appears in the preview, start_date, and end_date to specify specific dates.
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/v24.0/<CREATIVE_ID>/previews
| Field Name & Type | Description |
|---|---|
type: |
|
type: | Render the preview with user's intent signal; ex: 2016-12-24.
|
type: | Render the preview with user's intent signal; ex: 2017-01-01.
|
To fetch ad Insights for a travel object, such as hotel, make a GET call to /insights. Note: Remember to add product_id to the breakdown parameter.
For hotel and destination, the product id breakdown is shown for each hotel_id or destination_id. For flight, the product id breakdown shows origin_airport:destination_airport.
To retrieve comments or "Likes" of Advantage+ catalog ads, use the Dynamic Post API.