Destination ads use four events. Every event has a set of parameters (full list at event parameter details). Use the Meta Pixel on your website, and mobile app events in your Android app and iOS app. Learn more about standard and custom events.
This guide assumes you already have a Meta Pixel installed. If not, see Using Marketing API with the Meta Pixel.
Make sure the pixel base code is already loaded when you fire an event. If you use a tag manager, make sure you include the tag that contains the pixel code on every page. The tag should appear before the tag that contains the pixel event code. Use the Meta Pixel Helper to validate your pixel implementation.
// This sample assumes the Meta Pixel base code is already loaded
fbq('track', 'Search', {
// Fire the 'Search' event on the search results page
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
// REQUIRED: city, don't use abbreviations
city: 'New York',
// REQUIRED: region, don't use abbreviations
region: 'New York',
// REQUIRED: country, don't use abbreviations
country: 'United States',
// RECOMMENDED: set to 'destination'
content_type: 'destination',
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
travel_start: '2018-04-01',
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
travel_end: '2018-04-05',
// RECOMMENDED: content ids - include eg top 5 search results
content_ids: '["123", "234", "345", "456", "567"]',
// RECOMMENDED: number of adults
num_adults: 1,
// RECOMMENDED: number of children
num_children: 0
});// This sample assumes the Meta Pixel base code is already loaded
fbq('track', 'ViewContent', {
// Fire the 'ViewContent' event on the destination details page
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
// REQUIRED: content id of destination that is shown
content_ids: '123',
// RECOMMENDED: set to : 'destination',
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
travel_start: '2018-04-01',
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
travel_end: '2018-04-05',
// RECOMMENDED: city, don't use abbreviations
city: 'New York',
// RECOMMENDED: region, don't use abbreviations
region: 'New York',
// RECOMMENDED: country, don't use abbreviations
country: 'United States',
// RECOMMENDED: number of adults
num_adults: 1,
// RECOMMENDED: number of children
num_children: 0
});// This sample assumes the Meta Pixel base code is already loaded
fbq('track', 'InitiateCheckout', {
// Fire the 'InitiateCheckout' event when the user enters the payment screen
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
// REQUIRED: content id of destination that is being booked
content_ids: '123',
// REQUIRED: city, don't use abbreviations
city: 'New York',
// REQUIRED: region, don't use abbreviations
region: 'New York',
// REQUIRED: country, don't use abbreviations
country: 'United States',
// RECOMMENDED: set to 'destination'
content_type: 'destination',
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
travel_start: '2018-04-01',
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
travel_end: '2018-04-05',
// RECOMMENDED: number of adults
num_adults: 1,
// RECOMMENDED: number of children
num_children: 0
});// This sample assumes the Meta Pixel base code is already loaded
fbq('track', 'Purchase', {
// Fire the 'Purchase' event on the booking or purchase confirmation page
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
// REQUIRED: content id of destination that is being booked
content_ids: '123',
// REQUIRED: city, don't use abbreviations
city: 'New York',
// REQUIRED: region, don't use abbreviations
region: 'New York',
// REQUIRED: country, don't use abbreviations
country: 'United States',
// REQUIRED: total value of booking
value: 1200,
// REQUIRED: currency of booking
currency: 'USD',
// RECOMMENDED: set to 'destination'
content_type: 'destination',
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
travel_start: '2018-04-01',
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
travel_end: '2018-04-05',
// RECOMMENDED: number of adults
num_adults: 1,
// RECOMMENDED: number of children
num_children: 0
});This guide assumes you have the Facebook SDK implemented in your Android mobile app. If not, see the Android SDK. If you use a measurement partner, make sure they pass required events to Facebook.
Bundle parameters = new Bundle();
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
// REQUIRED: city, don't use abbreviations
parameters.putString("fb_city", "New York");
// REQUIRED: region, don't use abbreviations
parameters.putString("fb_region", "New York");
// REQUIRED: country
parameters.putString("fb_country", "United States");
// RECOMMENDED: set to 'destination'
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "destination");
// RECOMMENDED: content ids - include eg top 5 search results
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "[\"123\", \"234\", \"345\", \"456\", \"567\"]"); // top search results
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
parameters.putString("fb_travel_start", "2018-04-01");
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
parameters.putString("fb_travel_end", "2018-04-05");
// RECOMMENDED: number of adults
parameters.putInt("fb_num_adults", 1);
// RECOMMENDED: number of children
parameters.putInt("fb_num_children", 0);
// Fire the 'Search' event on the search results page
logger.logEvent(
AppEventsConstants.EVENT_NAME_SEARCHED,
parameters
);Bundle parameters = new Bundle();
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
// REQUIRED: content id of destination that is shown
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "123");
// RECOMMENDED: set to 'destination'
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "destination");
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
parameters.putString("fb_travel_start", "2018-04-01");
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
parameters.putString("fb_travel_end", "2018-04-05");
// RECOMMENDED: city, don't use abbreviations
parameters.putString("fb_city", "New York");
// RECOMMENDED: region, don't use abbreviations
parameters.putString("fb_region", "New York");
// RECOMMENDED: country
parameters.putString("fb_country", "United States");
// RECOMMENDED: number of adults
parameters.putInt("fb_num_adults", 1);
// RECOMMENDED: number of children
parameters.putInt("fb_num_children", 0);
// Fire the 'ViewContent' event on the destination details page
logger.logEvent(
AppEventsConstants.EVENT_NAME_VIEWED_CONTENT,
parameters
);Bundle parameters = new Bundle();
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
// REQUIRED: content id of destination that is being booked
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "123");
// RECOMMENDED: set to 'destination'
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "destination");
// REQUIRED: city, don't use abbreviations
parameters.putString("fb_city", "New York");
// REQUIRED: region, don't use abbreviations
parameters.putString("fb_region", "New York");
// REQUIRED: country
parameters.putString("fb_country", "United States");
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
parameters.putString("fb_travel_start", "2018-04-01");
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
parameters.putString("fb_travel_end", "2018-04-05");
// RECOMMENDED: number of adults
parameters.putInt("fb_num_adults", 1);
// RECOMMENDED: number of children
parameters.putInt("fb_num_children", 0);
// Fire the 'InitiateCheckout' event when the user enters the payment screen
logger.logEvent(
AppEventsConstants.EVENT_NAME_INITIATED_CHECKOUT,
parameters
);// total value of booking
BigDecimal purchaseAmount = BigDecimal.valueOf(1200);
// REQUIRED: currency of booking
Currency currency = Currency.getInstance("USD");
Bundle parameters = new Bundle();
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
// REQUIRED: content id of destination that is being booked
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "123");
// REQUIRED: city, don't use abbreviations
parameters.putString("fb_city", "New York");
// REQUIRED: region, don't use abbreviations
parameters.putString("fb_region", "New York");
// REQUIRED: country
parameters.putString("fb_country", "United States");
// RECOMMENDED: set to 'destination'
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "destination");
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
parameters.putString("fb_travel_start", "2018-04-01");
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
parameters.putString("fb_travel_end", "2018-04-05");
// RECOMMENDED: number of adults
parameters.putInt("fb_num_adults", 1);
// RECOMMENDED: number of children
parameters.putInt("fb_num_children", 0);
// Use the built-in SDK method when the booking is confirmed
logger.logPurchase(
purchaseAmount,
currency,
parameters
);This guide assumes you already have the Facebook SDK implemented in your iOS mobile app. If not, see iOS SDK. If you use a measurement partner, make sure they pass the required events to Meta.
// Fire the 'Search' event on the search results page
[[FBSDKAppEvents shared] logEvent:FBSDKAppEventNameSearched
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
parameters:@{
// REQUIRED: city, don't use abbreviations
@"fb_city" : @"New York",
// REQUIRED: region, don't use abbreviations
@"fb_region" : @"New York",
// REQUIRED: country, don't use abbreviations
@"fb_country" : @"United States",
// RECOMMENDED: If sent, it must be set to 'destination'
FBSDKAppEventParameterNameContentType : @"destination",
// RECOMMENDED: content ids - include eg top 5 search results
FBSDKAppEventParameterNameContentID : @"[\"123\", \"234\", \"345\", \"456\", \"567\"]",
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
@"fb_travel_start" : @"2018-04-01",
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
@"fb_travel_end" : @"2018-04-15",
// RECOMMENDED: number of adults
@"fb_num_adults" : @1,
// RECOMMENDED: number of children
@"fb_num_children" : @0
}
];// Fire the 'ViewContent' event on the destination details page
[[FBSDKAppEvents shared] logEvent:FBSDKAppEventNameViewedContent
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
parameters:@{
// REQUIRED: content id of destination that is shown
FBSDKAppEventParameterNameContentID : @"123",
// RECOMMENDED: If sent, it must be set to 'destination'
FBSDKAppEventParameterNameContentType : @"destination",
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
@"fb_travel_start_date" : @"2018-04-01",
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
@"fb_travel_end_date" : @"2018-04-15",
// RECOMMENDED: city, don't use abbreviations
@"fb_city" : @"New York",
// RECOMMENDED: region, don't use abbreviations
@"fb_region" : @"New York",
// RECOMMENDED: country, don't use abbreviations
@"fb_country" : @"United States",
// RECOMMENDED: number of adults
@"fb_num_adults" : @1,
// RECOMMENDED: number of children
@"fb_num_children" : @0
}
];// Fire the 'InitiateCheckout' event when the user enters the payment screen
[[FBSDKAppEvents shared] logEvent:FBSDKAppEventNameInitiatedCheckout
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
parameters:@{
// REQUIRED: content id of destination that is being booked
FBSDKAppEventParameterNameContentID : @"123",
// RECOMMENDED: If sent, it must be set to 'destination'
FBSDKAppEventParameterNameContentType : @"destination",
// REQUIRED: city, don't use abbreviations
@"fb_city" : @"New York",
// REQUIRED: region, don't use abbreviations
@"fb_region" : @"New York",
// REQUIRED: country, don't use abbreviations
@"fb_country" : @"United States",
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
@"fb_travel_start" : @"2018-04-01",
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
@"fb_travel_end" : @"2018-04-15",
// RECOMMENDED: number of adults
@"fb_num_adults" : @1,
// RECOMMENDED: number of children
@"fb_num_children" : @0
}
];// Fire the 'Purchase' event when the booking is confirmed
[[FBSDKAppEvents shared] logPurchase:1200
// currency of booking
currency:@"USD"
// IF YOU CHOOSE NOT TO USE A RECOMMENDED PARAM, THEN REMOVE IT, DON'T LEAVE IT EMPTY
parameters:@{
// REQUIRED: content id of destination that is being booked
FBSDKAppEventParameterNameContentID : @"123",
// RECOMMENDED: If sent, it must be set to 'destination'
FBSDKAppEventParameterNameContentType : @"destination",
// REQUIRED: city, don't use abbreviations
@"fb_city" : @"New York",
// REQUIRED: region, don't use abbreviations
@"fb_region" : @"New York",
// REQUIRED: country, don't use abbreviations
@"fb_country" : @"United States",
// RECOMMENDED: travel start date
// Allows you to target people based on their travel dates (using a booking window)
// Improves the landing experience with travel dates filled in (using template tags)
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
@"fb_travel_start" : @"2018-04-01",
// RECOMMENDED: travel end date
// use YYYYMMDD, YYYY-MM-DD, YYYY-MM-DDThh:mmTZD or YYYY-MM-DDThh:mm:ssTZD
@"fb_travel_end" : @"2018-04-15",
// RECOMMENDED: number of adults
@"fb_num_adults" : @1,
// RECOMMENDED: number of children
@"fb_num_children" : @0
}
];On mobile, the parameter names are different than for Meta Pixel. Often prepended by fb_, with a few exceptions, such as content_ids versus fb_content_id, value versus _valueToSum.
When you send multiple values, for example with content_ids or content_type provide a JSON encoded array of values: '["value1", "value2"]'. Do not concatenate values with a comma.
| Parameter Name and Type | Description |
|---|---|
type: string | Recommended. The start date of user's trip. We accept dates in Examples:
|
type: string | Recommended. The end date of user's trip. We accept the same date formats as listed for |
type: string or string[] | Recommended for Any relevant ID(s) as listed in your travel catalog, e.g. for Examples:
|
type: string or string[] | Recommended. If sent, must be |
type: string | Required for Provide the city of the location from user intent. Example: |
type: string | Required for Provide the region of the location from user intent. Example: |
type: string | Required for Provide the country of the location from user intent. Example: |
type: string | Number of adults that will be traveling. When provided, you can use this in the ad using template tags. Example: |
type: int | Number of children that will be traveling. When provided, you can use this in the ad using template tags. Example: |
type: string or string[ ] | A list of IDs representing destination suggestions for this user. This parameter is not applicable for the Example: |
type: float | Required for purchase. A total price of the booking (a number that quantifies the value of this event to the advertiser). Example: |
type: string | Required for purchase.Currency for the value. Specified using ISO 4217 currency format. Example: |