📌Note: If you are visiting this article after receiving a notification of changes to DBM & Google Analytics - please jump straight to the Important Changes July 2024 section.
Introduction
The Guestline Direct Booking Manager (DBM) has been designed to easily integrate into any website via a single JavaScript tag. This guide will help you or your web developers get up and running with DBM quickly and start enjoying direct bookings via your own website.
Why integration matters
Following this integration guide correctly ensures you will:
✅ Automatically receive the latest DBM features and improvements
✅ Benefit from security updates and performance enhancements
✅ Maintain compatibility with future updates
✅ Get proper analytics and tracking
⚠️ Important: Never hardcode the DBM URL directly. Always use the JavaScript tag method described in this guide. Hardcoding URLs will prevent you from receiving automatic updates and new features.
Getting started
What you will need
Before you begin, you should have received from our Booking Engine Specialist team:
Your Group ID.
Your Hotel ID -if you are part of a group.
This integration guide.
During setup, our team will have configured all necessary settings to make integration as smooth as possible.
If you are upgrading
If you're upgrading from an existing online booking engine or one of Guestline's legacy platforms (OBM), please read the "Upgrading from an Existing Platform" section at the end of this guide.
📌Note: If you previously used URLs in the format https://mysiteid.dbm.guestline.net/..., these were migrated in 2024 to https://booking.eu.guestline.app/mysiteid/.... Redirects from old URLs are no longer active. If you have any remaining old-format links in emails, social media, or print materials, please update them using the URL Builder Tool referenced in the Deep Links section.
Integration method
Recommended method is JavaScript Tag Method.
The JavaScript tag is the recommended and preferred method for installing DBM on your website.
Benefits of using the Tag:
Any HTML element can become a Book Now button.
Pass parameters like room type, arrival date, and promo codes.
Create custom booking search panels.
Simplified cross-domain Google Analytics tracking.
Automatic updates to latest DBM features.
⚠️ Important notes:
Do NOT use iFrames to embed DBM.
Do NOT hardcode DBM URLs in your website.
Direct DBM links should only be used in emails or external communications.
Basic installation
Step 1: Install the JavaScript DBM tag
The DBM Tag is a single line of JavaScript code that should be added to all pages of your website.
Most CMS systems (WordPress, Wix, Squarespace, etc.) allow you to add scripts globally. Add the script tag as close to the end of the <body> section as possible, ideally just before </body>.
<script type="text/javascript"
id="guestline-tag"
data-group-id="YOUR_GROUP_ID"
async
src="https://gxptag.guestline.net/static/js/tag.js">
</script>
Replace YOUR_GROUP_ID with the Group ID provided by our team.
📌Note: Only 1 JavaScript Tag can be used per website. If you have multiple properties with individual DBMs and want to use the DBM Panel on a single website, you'll need a group DBM instead. Contact our team to discuss this option.
Step 2: Set default language (Optional)
If you want DBM to open in a specific language, add the data-lng attribute:
<script type="text/javascript"
id="guestline-tag"
data-group-id="YOUR_GROUP_ID"
data-lng="fr"
async
src="https://gxptag.guestline.net/static/js/tag.js">
</script>
Supported language codes:
Code | Language |
it | Italian |
fr | French |
es | Spanish |
pt | Portuguese |
de | German |
da | Danish |
nl | Dutch |
If no language code is set, DBM defaults to English. Unsupported codes will also fall back to English.
Using the DBM panel
The DBM Panel is a full screen modal that covers the entire page.
How it works
Once enabled by our team, the DBM Panel appears automatically on all pages containing the JavaScript tag. It automatically adapts to your DBM configuration and requires no manual configuration.
How to enable it
The DBM Panel is not enabled by default. Contact our DBM team to activate it for you.
Trigger elements
Almost any HTML element can become a DBM launcher by adding the data-guestline-redirect="true" attribute.
Simple book now button
<!-- Button -->
<button data-guestline-redirect="true">Book Now</button>
<!-- Link -->
<a href="#" data-guestline-redirect="true">Check Availability</a>
<!-- Image -->
<img src="book-now.jpg" alt="Book Now" data-guestline-redirect="true" style="cursor: pointer;">
For a specific property
If you're part of a group, specify which property the button should book:
<button data-guestline-redirect="true"
data-hotel-id="YOUR_HOTEL_ID">
Book Now
</button>
Linking to multiple properties
To link a single button to more than one property, provide all Hotel IDs separated by semicolons in the data-hotel-id attribute. Include a trailing semicolon at the end:
<button data-guestline-redirect="true"
data-hotel-id="HOTEL1;HOTEL2;HOTEL3;">
Book Now
</button>
Buttons with pre-filled information
You can pass parameters to pre-fill booking details:
<button data-guestline-redirect="true"
data-hotel-id="YOUR_HOTEL_ID"
data-arrival="2026-06-01"
data-nights="2"
data-adults="2"
data-children="0"
data-promo-code="SUMMER2026">
Summer Special Offer
</button>
Available parameters
Parameter | Attribute | Format | Example |
Arrival date | data-arrival | YYYY-MM-DD | 2026-12-25 |
Departure date | data-departure | YYYY-MM-DD | 2026-12-27 |
Nights | data-nights | Number | 2 |
Adults | data-adults | Number | 2 |
Children | data-children | Number | 0 |
Promo code | data-promo-code | Text | SUMMER2026 |
Rate codes | data-rates | Text (semicolon-separated) | RATE1;RATE2 |
Room codes | data-rooms | Text (semicolon-separated) | DELUXE;SUITE |
Hotel ID | data-hotel-id | Text (semicolon-separated for multiple) | HOTEL1;HOTEL2; |
Creating custom search forms
You can create custom booking search forms that integrate seamlessly with DBM. Add the data-guestline-form attribute to any <form> element.
Complete form example
<form data-guestline-form>
<!-- Hotel Selection (for groups) -->
<select name="hotel-id">
<option value="">Any Hotel</option>
<option value="HOTEL1">Seaside Resort</option>
<option value="HOTEL2">Mountain Lodge</option>
</select>
<!-- Dates -->
<input type="text" name="arrival" placeholder="Arrival Date (YYYY-MM-DD)" required />
<input type="text" name="departure" placeholder="Departure Date (YYYY-MM-DD)" />
<!-- Guests -->
<input type="number" name="adults" placeholder="Adults" min="1" required />
<input type="number" name="children" placeholder="Children" min="0" value="0" />
<!-- Optional -->
<input type="text" name="promo-code" placeholder="Promo Code" />
<button type="submit">Check Availability</button>
</form>
Form field reference
Field Name | Input Type | Required | Format |
arrival | text | Yes | YYYY-MM-DD |
departure | text | Yes (or use nights) | YYYY-MM-DD |
nights | number | Yes (or use departure) | Number |
adults | number | Yes | Number |
children | number | Yes | Number (use 0 if none) |
promo-code | text | No | Text |
hotel-id | text/select | No (for groups) | Hotel code |
rates | text | No | Semicolon-separated codes |
rooms | text | No | Semicolon-separated codes |
⚠️Important: When using filters by rates or rooms or promo codes, all four core parameters of arrival, departure/nights, adults, and children must be included.
Deep links for emails and social media
What are deep links?
Deep links are special URLs that open DBM with pre-filled booking criteria. They are useful for situations where the JavaScript tag cannot be used:
Use deep links for: email campaigns, social media posts, text messages, print materials with QR codes.
Don't use deep links for: buttons or links on your website where the JavaScript tag is installed.
Creating Deep Links
Use the URL Builder Tool: 👉 https://dbm-url-builder.eu.guestline.app/
You'll need your Group ID and Hotel ID provided in your setup email.
Google Analytics 4 (GA4) integration
To track bookings across your website and DBM, you need to set up cross-domain tracking in Google Analytics 4.
For more information on this feature, read our article on Guestline DBM: Create Google Analytics 4 (GA4) cross-domain tracking.
This ensures you can track the complete customer journey from browsing your website through to completing a booking.
Upgrading from an existing platform
Upgrade path by integration type
Current setup | Upgrade effort | Action required |
Simple "Book Now" button | ✅ Easy | Follow basic installation steps in this guide |
iFrame integration | ⚠️ Changes needed | iFrames not supported — switch to JavaScript tag method |
Form | ⚠️ May need updates | Rebuild using Custom Search Forms section |
URL parameters/query strings | ⚠️ Conversion needed | Convert to JavaScript tag or deep links |
Upgrade Steps
When upgrading from an existing platform, follow the steps below:
Identify all booking entry points on your website: "Book Now" buttons, search widgets/forms, promotional links, special offer buttons.
Map existing parameters to DBM equivalents using the parameter tables in this guide.
Install the JavaScript tag on all pages.
Update all buttons and forms to use data-guestline-redirect or data-guestline-form.
Test thoroughly before going live.
Remove old booking platform code once DBM is confirmed working.
Testing your integration
Pre-Launch Checklist
Use the checklist below to complete important pre-launch checks:
JavaScript tag is installed on all pages.
Tag includes your correct Group ID.
All "Book Now" buttons open DBM correctly.
Parameters are passed correctly and test with pre-filled dates.
Multiple property links work correctly, if applicable.
Forms submit to DBM properly.
Group properties can select individual hotels.
Mobile responsiveness works correctly.
Google Analytics tracking is set up, if applicable.
Common Issues
Problem: Clicking "Book Now" does nothing
Solution: Ensure the JavaScript tag is on the page and data-guestline-redirect="true" is spelled correctly
Problem: DBM opens but dates aren't pre-filled.
Solution: Check parameter formatting, for example dates must be YYYY-MM-DD. Ensure all minimum required parameters are included. Check the element you are clicking has the correctly named data-attributes.
Problem: Form doesn't work.
Solution: Verify data-guestline-form attribute is on the <form> element and field names match exactly.
Problem: Multiple properties not showing.
Solution: Ensure Hotel IDs are semicolon-separated with a trailing semicolon, for example: HOTEL1;HOTEL2;
Support and resources
Resource | Link |
DBM URL builder | |
GA4 Cross-Domain Tracking Guide | |
Integration questions for DBM Panel setup | Contact your Booking Engine Specialist. |
Quick Reference
JavaScript Tag
<script type="text/javascript"
id="guestline-tag"
data-group-id="YOUR_GROUP_ID"
async
src="https://gxptag.guestline.net/static/js/tag.js">
</script>
Simple button
<button data-guestline-redirect="true">Book Now</button>
Button with Parameters
<button data-guestline-redirect="true"
data-hotel-id="YOUR_HOTEL_ID"
data-arrival="YYYY-MM-DD"
data-nights="2"
data-adults="2"
data-children="0">
Book Now
</button>
Multiple Properties Button
<button data-guestline-redirect="true"
data-hotel-id="HOTEL1;HOTEL2;HOTEL3;">
Book Now
</button>
Simple Form
<form data-guestline-form>
<input type="text" name="arrival" required />
<input type="number" name="nights" required />
<input type="number" name="adults" required />
<input type="number" name="children" value="0" required />
<button type="submit">Search</button>
</form>
⚠️Important: Always use the JavaScript tag method on your website. This ensures you automatically receive updates, new features, and security improvements without any additional work.
