Skip to main content

Guestline Direct Booking Manager: DBM website integration guide

Learn how to install and use Guestline Direct Booking Manager with the JavaScript tag so guests can book directly from your website with up to date features and tracking.

Written by Xanthe Jackson
Updated over 3 weeks ago

📌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.

Shape

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

Shape

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.


Shape

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:

  1. Identify all booking entry points on your website: "Book Now" buttons, search widgets/forms, promotional links, special offer buttons.

  2. Map existing parameters to DBM equivalents using the parameter tables in this guide.

  3. Install the JavaScript tag on all pages.

  4. Update all buttons and forms to use data-guestline-redirect or data-guestline-form.

  5. Test thoroughly before going live.

  6. Remove old booking platform code once DBM is confirmed working.


Shape

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.


Shape

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.

Did this answer your question?