Conversion measurement can help you understand how effectively your ad clicks lead to valuable customer activity on your website, such as bookings.
After you set up conversions for hotel or Performance Max for travel goals campaign reporting, Google will send the booked hotel data to you to turn on campaign performance tracking. This will allow you to monitor your hotel data and overall campaign performance.
Google tag implementation
Follow the 3 steps below to implement Google Ads Conversion Measurement for Hotel Ads and Performance Max for travel goals ads:
Step 1: Create Google tag and event tag
Note:
-
The conversion category must be set to "Purchase" to be used for Smart Bidding campaigns (ECPC, tROAS).
-
Google only supports the Last-Click Attribution model for hotel campaigns.
-
If you’re already using the Google tag conversion measurement code, go to Step 2.
- In your Google Ads account, click the Goals icon .
- Click the Conversions drop down in the section menu.
- Click Summary.
- Click on + New conversion action.
- Select the conversion you would like to track and follow the instructions in the widget. Learn how to Set up conversion measurement for your website.
- If you're planning to track hotel bookings from your website, make sure to select the following :
- Category: Purchase/Sale
- Value: Use different values and default value > 0$
- Count: Every conversion
- Attribution model: Last click
- If you're planning to track hotel bookings from your website, make sure to select the following :
- Finalize the tag setup by clicking Done.
Step 2: Install Google tag and event tag
To implement Google Ads Hotel Conversion measurement, you have 2 options:
Option 1: Direct implementation in the website’s HTML/AMP
Option 2: Instructions for Google Tag manager
For conversion measurement to work, you'll need to install the conversion measurement tag, which consists of a Google tag and an event snippet. If installing the tag with Google Tag Manager, follow the instructions for Option 2: Google Tag Manager.
Option 1: Instructions for direct implementation (HTML/AMP)
HTML Pages
- Install the Google tag on every page of your hotel website. Note that this includes every page of the booking flow, which might be hosted by a third party booking engine. In that case, ensure that the booking engine is installing the tag on every page, including the confirmation page.
- Open the HTML for each page.
- Choose from the following options:
- If you haven't installed the Google tag on your website, copy the Google tag and paste it between the head tags (
<head></head>
).Example:<script async
src="https://googletagmanager.com/gtag/js?id=TAG_ID"></script><script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>
- If you installed the Google tag on your website from another Google product (example: Google Analytics) or from another Google Ads account, copy the
'config'
command below and add it to every instance of the Google tag, right above the</script>
end tag.
gtag ('config', 'AW-GOOGLE_CONVERSION_ID');
- If you or a manager account already installed the Google tag on your website while setting up the tag for another conversion action, make sure that the tag is on every page of your website and check that the 'config' command has your Google Ads account's conversion ID.
- If you installed the Google tag on your website from another Google product (example: Google Analytics) or from another Google Ads account, copy the
- If you haven't installed the Google tag on your website, copy the Google tag and paste it between the head tags (
- Save the changes to your webpages.
- Install the event snippet on the conversion page. This is the page your customers reach on your website after they've completed a conversion — the "Thank you for your booking" page, for example. Note that the booking conversion page might be hosted by your booking engine and would require the third party to implement the steps below:
- Open the HTML for the conversion page.
- Copy the snippet below and paste it between the head tags (
<head></head>
) of the page, right after the Google tag.Example:<!-- Event snippet for Hotel Booking conversion page --> <script>
gtag('event', 'conversion', {'send_to': 'AW-CONVERSION_ID/AW-CONVERSION_LABEL',
'value': 1.0,
'currency': 'USD'
});
</script>
- Add code to dynamically pass a value to the transaction_id parameter. When tracking purchases, sales, or leads on your website, this parameter ensures that each conversion is only counted once.
- Add code to dynamically pass values to the value and currency parameters. This allows you to track conversions with transaction-specific values, such as the revenue from a sale.
- Save the changes to your webpage.
AMP Pages
You should follow these instructions for any of the pages built using the AMP framework:
- Install the Google tag on every page of your website.
- Open the HTML for each page.
- Choose from the following options:
- If you haven't installed the Google tag on your website, choose the corresponding option in your Google Ads account and add the 2 tags:
- Copy the respective tag and paste it between the head tags (
<head></head>
), before the AMP JS library.Example:
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
- Copy the second tag and paste it between the body tags (
<body></body>
) of all of your AMP pages.Example:
<!-- Google tag (gtag) - Google Ads: 813068219 --> <amp-analytics type="gtag" data-credentials="include"> <script type="application/json"> { "vars": { "gtag_id": "AW-813068219", "config": { "AW-813068219": { "groups": "default" } } }, "triggers": { } } </script> </amp-analytics>
- View more guidelines on setting up the Google tag.
- Copy the respective tag and paste it between the head tags (
- If you installed the Google tag on your website from another Google product (example: Google Analytics) or from another Google Ads account, choose the corresponding option in your Google Ads Account, then copy the respective line and include it in the "config" section of every instance of the Google tag.
Example:
"AW-813068219": { "groups": "default" }
- If you or a manager account already installed the Google tag on your website while setting up the tag for another conversion action, make sure that the tag is on every page of your website and check that the
"config"
section has your Google Ads account's conversion ID. Example: AW-813068219.
- If you haven't installed the Google tag on your website, choose the corresponding option in your Google Ads account and add the 2 tags:
- Save the changes to your webpages.
- Install the event snippet on the conversion page. This is the page your customers reach on your website after they've completed a conversion — the "Thank you for your order" page, for example.
- Open the HTML for the conversion page.
- Copy the snippet from your Google Ads account and paste it into the "triggers" section of the Google tag.
Example:
"C_7c-ug1nyyfk": { "on": "visible", "vars": { "event_name": "conversion", "value": 200.0, "currency": "USD", "transaction_id": "", "send_to": ["AW-813068219/_XirCILNzJkDELvf2YMD"] } }
- Add code to dynamically pass a value to the transaction_id parameter. When tracking purchases, sales, or leads on your website, this parameter ensures that each conversion is only counted once.
- Add code to dynamically pass values to the value and currency parameters. This allows you to track conversions with transaction-specific values, such as the revenue from a sale.
- Save the changes to your webpage.
Learn how to Add a Google tag to your website.
Option 2: Instructions for Google Tag Manager
If you're using Google Tag Manager, you can implement the gtag.js
for hotel ads following the steps:
- Create the tag in your Google Ads account.
- Use Conversion ID and Conversion label to configure the tag in Google Tag Manager.
- Add a Conversion Linker Tag.
- Place the tag on all pages, including the conversion page.
- Modify the tag with your preferred parameters.
The Google tag snippet should be set to run on all pages, including the confirmation pages, and the event snippet should run on the confirmation pages only.
Lastly, for optimal web browser compatibility, we suggest that a conversion linker is turned on.
Find further information about Google Tag Manager, but make sure to take Hotel specific instructions into consideration.
Step 3: Modify the event tag hotel parameters
Starting April 30, 2024, Commissions (per Stay) and Commissions (per Conversions) bid strategies will no longer be available for new Hotel Ads campaigns.
Active Hotel Ads campaigns with commissions-based bid strategies will continue to serve until February 20, 2025. Review Commission-based bid strategies in hotel ads to sunset to learn more about your next steps.
Parameter | Value type | Example value | Description | Required - Yes/No |
'value' |
Float | 16.20 |
Replace Note: The value will be used for Smart Bidding bid strategies. |
Yes |
'currency' |
String | ‘USD’ |
Replace The currency code applies to the |
Yes |
'transaction_id' |
String | 'HA12345' |
Replace Note: Order IDs won't be reported in Google Ads. |
No (Recommended) |
'id' |
String | ‘1234’ | Replace ‘id’ with the property ID of the hotel that you want to record conversion data for. This ID must match the ID in your hotel list. |
No |
'start_date' |
String | “2020-12-13” | Replace ‘start_date’ with the check-in date. Format dates as YYYY-MM-DD. |
No |
'end_date' |
String | “2020-12-13” | Replace ‘end_date’ with the check-out date. Format dates as YYYY-MM-DD. |
No |
‘value’
and ‘currency’
. You can't view ‘transaction_id’
, ‘id’
, ‘start_date’
, or ‘end_date’
values.Examples of the Google tag configured (Important)
Check the syntax below carefully against your tag implementation. Make sure you’re using the ‘item’
array to include the hotel parameters (for example, ‘id’
, ‘start_date’
, and ‘end_date’
).
Place the Google tag on all pages, including the confirmation page above the event snippet.
After the Google tag is updated:
<!-- Google Tag (gtag.js) - Google Ads -->
<script async src="https://googletagmanager.com/gtag/js?id=AW-GOOGLE_CONVERSION_ID"></script>
<script> window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments)};
gtag('js', new Date());
gtag('config', 'AW-GOOGLE_CONVERSION_ID');
</script>
After global event snippet is updated:
<script>
gtag('event', 'purchase', {
'send_to': [
'AW-GOOGLE_CONVERSION_ID/GOOGLE_CONVERSION_LABEL'
'transaction_id': 'BOOKING_ID',
'value': PRICE,
'currency': 'CURRENCY',
'items': [{
'id': 'PARTNER_HOTEL_ID',
'start_date': 'CHECK_IN_DATE',
'end_date': 'CHECK_OUT_DATE'
}]
});
</script>
What happens if you’re missing hotel conversion parameters?
Hotel parameters provide valuable insight into your individual bookings, such as the booked hotel ID and stay dates. They’re also used by Google to better optimize your ad performance and provide more detailed reporting. If you’re using commission (per stay) bidding for your hotel campaign, these parameters are also used for billing. When the data isn’t available with your Google Ads conversion data, we use your default conversion settings for the conversion “value”
and “currency”
along with the click-time parameters for the stay dates (“start_date”
and “end_date”
) and hotel ID (“id”
). In this case, if your click-time check-in date occurs before the conversion date, we’ll default your check-in date to your conversion date.
Measure conversions for multiple accounts
If you need to count the same event as a conversion for multiple Google Ads accounts, you can pass multiple conversion ID strings via the 'send_to'
parameter of the conversion event snippet.
Alternatively, you should consider using cross-account conversion measurement which allows you to have a manager account (MCC) own the conversion actions and share them with one or more of its sub-accounts. You only need to specify a single conversion identifier in the event snippet. Learn more About cross-account conversion measurement. Ensure auto-tagging is turned on.
Example of Google tag
Example Google tag:
<!-- Google Tag (gtag.js)& →
<script async src="https://googletagmanager.com/gtag/js?id=AW-GOOGLE_CONVERSION_ID_1"></script>
<script> window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments)};
gtag('js', new Date());
gtag('config', 'AW-GOOGLE_CONVERSION_ID_1');
gtag('config', 'AW-GOOGLE_CONVERSION_ID_2');
</script>
Turn on auto-tagging
Auto-tagging must be turned on to ensure you can properly track conversions. Find instructions to set up auto-tagging for your account.
Test your conversion measurement tag
If you want to create a test order, follow these steps to check if the parameters are being passed:
Debugging with Chrome Developer Tools
- Open a new tab in Chrome.
- Click the 3-dot icon in the upper right corner of the browser window, and then select More Tools > Developer Tools.
- If you don't notice the Chrome menu, you can open "Developer Tools" by pressing:
- Ctrl + Shift + i (in Windows)
- Command + Shift + i (on a Mac)
- If you don't notice the Chrome menu, you can open "Developer Tools" by pressing:
- Click the Network tab.
- Leave the developer tools window open.
- Navigate to the page that contains the conversion measurement tag.
- Look for the request:
googleadservices.com
. - Examine the components of the conversion measurement request to verify it matches your account and conversion name.
All conversion measurement requests begin with the same URL structure:
googleadservices.com/pagead/conversion/
The full request will look similar to this:
http://googleadservices.com/pagead/conversion/123456789/
?
random=1309518235472
&cv=6
&fst=1309518235472
&num=1
&fmt=2
&value=0
&label=AAAAAAAAAAAAAAAAAAA
&bg=ffffff
&hl=it
&guid=ON
&u_ h=1200
&u_w=1920
&u_ah=1174&
u_aw=1920
&u_cd=24
&u_his=2
&u_tz=60
&u_
java=true
&u_nplug=19
&u_nmime=97
&url=http%3A//example.com/conversion-page.html
The number after googleadservices.com/pagead/conversion/
should match your conversion ID, and the characters after &label=
should match your conversion label. If they don't, this tag is most likely tied to a different conversion action.
To fix this, you may need to generate a new conversion tag for this conversion action and place it on your site, or check with anyone else who has access to your website code to confirm if they've installed a conversion measurement tag for a different conversion action.
Keep in mind
Security and privacy for website tracking
Google's security standards are strict. Only pages containing the Google conversion tag are tracked through this program using data encryption and secure servers.
Ensure you're providing users with clear and comprehensive information about the data you collect on your websites, and get consent for collections when legally required.
Mobile app conversion measurement
You can use mobile app conversions to track app installs and in-app actions. Similar to website conversions for hotel campaigns, you must turn on auto-tagging and set the conversion type to “Purchase” in your conversion settings to be used for Smart Bidding.
You need to subsequently send the relevant hotel parameters, like check-in or checkout dates and hotel ID, via Firebase or third-party SDK to begin tracking mobile app conversions.
Set up mobile app conversion measurement with Firebase
Firebase is Google's mobile platform that’s made to help you build better mobile apps and grow your business. To complete mobile app conversion measurement set up for hotel campaigns, you may send the required hotel parameters via the Firebase Analytics API.
Firebase parameter | Value type | Description | Example |
FirebaseAnalytics.Param.VALUE | Float |
Replace this parameter with the amount the user will pay. You can use either the base price or the total price. Use a "." for decimal numbers (for example, "16.20"). Note: The value will be used for Smart Bidding bid strategies. |
|
FirebaseAnalytics.Param.CURRENCY | String |
Replace this parameter with an ISO 4217 3-letter currency code representing the currency used during booking. The currency code applies to the VALUE variable. |
|
FirebaseAnalytics.Param.TRANSACTION_ID | String |
Replace this parameter with a booking reference number or order ID to your conversion measurement tag to help avoid counting duplicate conversions. Note: Order IDs won't be reported in Google Ads. |
|
FirebaseAnalytics.Param.ITEM_ID | String | Replace this parameter with the property ID of the hotel that you want to record conversion data for. This ID must match the ID in your Hotel List Feed. |
|
FirebaseAnalytics.Param.START_DATE | String | Replace this parameter with the check-in date. Format dates as YYYY-MM-DD. |
|
FirebaseAnalytics.Param.END_DATE | String | Replace this parameter with the check-out date. Format dates as YYYY-MM-DD. |
|
Set up mobile app conversion measurement with a third-party SDK
To help you make informed marketing decisions about your app, Google Ads works with many third-party app analytics providers to support the Google Dynamic remarketing for apps scheme.
If you use one of these third-party app analytics providers, link your third-party app analytics provider to Google Ads to turn on your data segment creation. Work with your third-party app analytics representative to set up their app’s SDK, and create the “Purchase” conversion type.
After completion, implement mobile app conversion measurement for hotel campaigns by sending the required hotel parameters using the app_event_data
JSON object as a part of the Conversion Measurement Request. Acceptable values are strings and array of strings.
The following parameters should be added to app_event_data
:
start_date
(in YYYY-MM-DD format)end_date
(in YYYY-MM-DD format)item_id
transaction_id
The following parameters should be added at the conversion level:
value
currency_code
Learn more About mobile app conversion measurement.