Source/Campaign/Medium GuestRequest examples

323 views
Skip to first unread message

Matteo Dalle Feste

unread,
Dec 20, 2016, 6:54:01 AM12/20/16
to AlpineBits
As requested, this is a running example of the actual implementation for Source/Campaign/Medium tags used into: www.dolomiti.it


The code:

<HotelReservationIDs>
   <HotelReservationID ResID_Type="13" ResID_Value="DOLOMITI" ResID_Source="www.dolomiti.it" ResID_SourceContext="SiteInSite" />
</HotelReservationIDs>

...
<Profiles>
   <CompanyInfo>
      <CompanyName Code="DOLOMITI" CodeContext="DOLOMITI">Dolomiti.it s.r.l.</CompanyName>
         <AddressInfo>
             <AddressLine>Schlachthofstraße , 65</AddressLine>
             <CityName>Bolzano</CityName>
             <PostalCode>39100</PostalCode>
             <CountryName Code="IT"/>
          </AddressInfo>
          <TelephoneInfo PhoneTechType="1" PhoneNumber="+390437940300"/>
          <Email>in...@dolomiti.it</Email>
       </CompanyInfo>
    </Profile>
 </ProfileInfo>
</Profiles>


On AsaJHotel we can see:

David Mair Spiess

unread,
Feb 15, 2017, 9:26:11 AM2/15/17
to AlpineBits
We have discussed the proposed structure with our advertising team and came up with a few minor modifications:


utm_source should be the website name without extension

It would be tedious to filter through the sources if multiple top level domains or extensions are in use by the company.

trivago.de => trivago
travago.it => trivago
          google.it => google 
bookingsuedtirol.com => bookingsuedtirol
bookingaltoadige.com => bookingsuedtirol


1. b. Search Engine Organic

We would change utm_medium to "organic" instead of "Search Engine Organic" to align to what Google uses in Adwords

utm_source = google
utm_medium = organic


1. c. Search Engine Paid

We would change utm_medium to "cpc" instead of "Google cpc OR facebook cpc" as the website name is already present in utm_source

utm_source = google
          utm_medium = cpc 


1. d. Meta Search Engine

Another interesting example of a meta search engine would be Google Hotel Finder.
Google Hotel Finder was integrated in the search engine directly and we wonder how to distinguish it from Search Engine Paid.
Our proposal looks like the following

utm_source = google
utm_medium = hotel_finder

Matthias Ebner

unread,
Feb 15, 2017, 1:01:29 PM2/15/17
to AlpineBits
To me it does not seem to be a good idea to remove the top level domain because you lose important information. It makes a difference if a visitor is coming from google.de or google.co.uk.
Same thing if you buy a banner at somedomain.de and buy another banner at somedomain.nl.

It is even much more difficult if you want to have the same source identifier for different domains (bookingsuedtirol.com, bookingaltoadige.com). In this case you must do some kind of mapping and you have to improve your mapping whenever a domain changes. In my opinion even in this case there should be two different sources.
The proof for this is very simple: even the site owner decided to host two different versions of the website under two different domains... it is not the same.

For search engine organic i would suggest:
utm_source = google, bing, ...
utm_medium = search_engine

When you see all the different mediums it is difficult to understand what "organic" stands for.
I suggest the following instead:
email, cpc, social_media, hotel_finder, affiliate, qr_code, print, search_engine

david....@hgv.it

unread,
Sep 12, 2017, 10:12:23 AM9/12/17
to AlpineBits
At the last board meeting some of the members expressed their unhappiness about the the currently proposed guest request examples as it reflects only online marketing specific use cases but leaves unanswered the very important question *where* the original enquiry/booking came from. This doesn't have to be necessarily a website but can also be an offline acquisition.

At the point of writing we map Googles *utm_source*, *utm_medium* and *utm_campaign* parameter and their online marketing specific meanings 1:1 to *ResID_Source*, *ResID_Value* and *ResID_Context*.
This isn't quite enough as we leave the question unanswered *where* an enquiry/booking was created. *utm_source* only tells us *who* (referrer) was responsible for acquiring a guest. To satisfy both needs i would suggest to use *ResID_Source* as location where the enquiry/booking was created,
and combine the referrer informations *utm_source* and *utm_campaign* in *ResID_Context*.

Here is an extended list we came up with. I would like to discuss them with you on thursday. I would also suggest to remove utm_ specific keywords from the documentation as they aren't the same (stated above).

*1. Direct (User typed in domain in address bar)*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=

*2. Referral link to hotel site from portal website*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=portalwebsite.com

*3. Referral link to hotel site from portal website with campaign infos*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=portalwebsite.com/[campaign-name]

*3. Search engine organic (Google)*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=google.it

*4. Search engine paid (e.g. Google)*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=google.com/[campaign-name] (PS. campaign-name could also include CPC informations)

*5. Social media content link (e.g. Facebook)*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=facebook.com

*6. Social media paid (e.g. Facebook Ads)*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=facebook.com/[campaign-name] (PS. campaign-name could also include CPC informations)

*7. Newsletter*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=[newsletter-name] (e.g. NL 09/2017)

*8. QR Code in magazine*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=[magazine-name] (e.g Bergwelten 08/2017)

*9. Bookings/enquiries from metasearches (e.g. Google PriceAds)*

ResID_Source=hotelwebsite.com
ResID_Value=website
ResID_Context=google.com/PriceAds

*10. Bookings/enquiries for metasearch landingpages (e.g. Google PriceAds)*

ResID_Source=landingpage.com
ResID_Value=landingpage
ResID_Context=google.com/PriceAds

*11. Bookings/enquiries on landingpages*

ResID_Source=landingpage.com
ResID_Value=landingpage
ResID_Context=

*12. Bookings/enquiries for metasearch landingpages with campaign informations (e.g. Tripadvisor)*

ResID_Source=landingpage.com
ResID_Value=landingpage
ResID_Context=tripadivsor.com/desktop

*13. Bookings on booking portal (e.g. Booking.com)*

ResID_Source=booking.com
ResID_Value=booking_portal
ResID_Context=

*15. Bookings/enquiries on portals (e.g. suedtirolerland.it)*

ResID_Source=suedtirolerland.it
ResID_Value=portal
ResID_Context=

*16. Bookings/enquiries hotel owner gets per mail*

ResID_Source=hotel
ResID_Value=email
ResID_Context=

*17. Bookings/enquiries hotel owner gets per phone*

ResID_Source=hotel
ResID_Value=phone
ResID_Context=

*18. Guest comes directly to hotel (POS)*

ResID_Source=hotel
ResID_Value=direct
ResID_Context=


*19. Guest comes directly to hotel after beeing at a TV (POS)*

ResID_Source=hotel
ResID_Value=direct
ResID_Context=tv_lana

*20. Guest books directly in TV (POS)*

ResID_Source=tv
ResID_Value=direct
ResID_Context=

Matthias Ebner

unread,
Sep 12, 2017, 11:18:30 AM9/12/17
to AlpineBits
You are completely right that the 3 marketing values are not enough. The channel is missing in your description.

I don't think we should change it the way you describe because we can not mix advertising and channel.

A hotel has multiple channels where enquiries and reservations come from:
- own website
- landingpage
- landingpage of an association (vitalpina, familienhotels,...)
- travel agency
- telephone
- direct email
- ...

This channel information is different to the marketing/advertising data.
As you already described in your post we map them like this:

utm_source = ResID_Source = Werbepartner (ASA)
utm_medium = ResID_Value = Werbemedium (ASA)
utm_campaign = ResID_Context = Werbekampagne (ASA)

In my opinion we should NOT change this mapping because these 3 values must contain all advertising information.

We already have the possibility to allocate the channel separately. In the AlpineBits documentation of version 2015-07b on page 27 you can find the node "CompanyInfo" which is used to pass the Travel Agent/Channel. ASA version 16 for example reads this information an allocates it to its field "Buchungskanal".

Not every enquiry or reservation is acquired by a marketing action or campaign. If there was no advertising involved all 3 marketing values should be empty. But you need to know where the reservation comes from. This is the channel.

@David: I would love to discuss this further with you at the AlpineBits Developer Meeting this thursday. I will bring some documentation of how we handle this.

Stephan P.

unread,
Sep 12, 2017, 11:19:21 AM9/12/17
to AlpineBits
We already discussed all use cases, online and offline. We decided to use the element CompanyInfo to indicate who generated (created) the enquiry/booking. It seems that you forgot this element in your discussion.

We have:
ResID_Source: indicates where the enquiry/booking comes from (in a marketing sense).
CompanyInfo: indicates who generated the enquiry/booking (booking platform etc.).

I would strongly recommend not to mix different types of information:
source, medium, and campaign should not be mixed.
Otherwise it is not possible to analyze the data of different types independently of others, e.g. all enquiries of a particular source independently of campaigns.

david....@hgv.it

unread,
Sep 13, 2017, 3:51:11 AM9/13/17
to AlpineBits
Thanks for your input! I know about CompanyInfo but i have trouble to use it as a channel as you suggest, as it requires me to set company infos?

Any examples how you would set

-own website
-landingpage
-telephone
-direct email

with this node?

Message has been deleted

Matteo Dalle Feste

unread,
Sep 18, 2017, 11:33:25 AM9/18/17
to AlpineBits
In Google Analytics we use:

Traffic from our web portal:
http://www.hotel-website.it/?utm_source=dolomiti.it&utm_medium=SiteInSite& utm_campaign=dolomiti
http://www.hotel-website.it/?utm_source=dolomiticlass.it&utm_medium=SiteInSite& utm_campaign=dolomiti
http://www.hotel-website.it/?utm_source=dolomiticlass.de&utm_medium=SiteInSite& utm_campaign=dolomiti

So:
utm_source = <name-of-portal>                                                   Example: dolomiti.itdolomiticlass.itdolomiticlass.de
utm_medium= <name-of-webpage> or <name-of-element>      Example: SiteInSite
utm_campaign= <web-company>                                                Example: dolomiti


Traffic from Email marketing
http://www.hotel-website.it/?utm_source=newsletter_2017-04-19&utm_medium=idee-1sx&utm_campaign=dolomiti
http://www.hotel-website.it/?utm_source=newsletter_2018-04-19&utm_medium=banner-4sx&utm_campaign=dolomiti
http://www.hotel-website.it/?utm_source=dem_2017-04-19&utm_medium=idee-2sx&utm_campaign=dolomiti

So:
utm_source = <name-of-emailmarketing-comunication>          Example: newsletter_2017-04-19, dem_2017-04-19
utm_medium= <name-of-element>                                              Example: banner-4sx
utm_campaign= <web-company>                                                Example: dolomiti

Matteo

Matthias Ebner

unread,
Sep 20, 2017, 5:08:56 AM9/20/17
to AlpineBits
Hi Matteo,

I agree with your web portal example.

To be able to evaluate your email marketing example I have a question: How do your newsletters work?
I assume you don't send regular newsletters for a single hotel on a regular basis (for ex. monthly). In that case I would expect the utm_medium to be "email".
If you send a regular Dolomiti-newsletter with your own content and a hotel can jump in and you create a paragraph or a teaser with a link to their website in your newsletter, then I understand your parameters and they seem reasonable to me.
Nevertheless I suggest to make the source more unique. For ex.: dolomiti-newsletter_XXXX-XX-XX.
The reason is that the advertising parameters in my opinion have two functions:
1) identification
2) grouping

To be able to make a meaningful grouping you don't want to be mixed with an other sender who passes the same generic source identifier.

M.

Matthias Ebner

unread,
Sep 22, 2017, 5:06:34 AM9/22/17
to AlpineBits
The AlpineBits specification offers 3 attributes (ResID_Source, ResID_SourceContext, ResID_Value) we decided to use to forward the advertising information of a reservation or enquiry.
Additionally AlpineBits offers the possibility to forward a travel agent (CompanyInfo).

The 3 advertising attributes should answer this question:
How the (potential) guest/customer was acquired?

The travel agent (or booking channel) attributes should answer this question:
Where did the (potential) guest execute the reservation/enquiry?

Here are some examples:

1. Request or reservation via homepage

a) Direct (User types the domain in browser address bar)
 
  ResID_Source (utm_source) = direct
  ResID_SourceContext (utm_medium) =
  ResID_Value (utm_campaign) = 
  Travel agent / booking channel = homepage
 
b) Referral link to hotel site from other website
 
  ResID_Source (utm_source) = otherwebsite.com
  ResID_SourceContext (utm_medium) = referral
  ResID_Value (utm_campaign) = 
  Travel agent / booking channel = homepage
 
c) Referral link to hotel site from portal website with campaign infos
 
  ResID_Source (utm_source) = portalwebsite.com
  ResID_SourceContext (utm_medium) = referral (or exact medium type of portal, ex. "banner", "membership", "toplinks")
  ResID_Value (utm_campaign) = [campaign-name]
  Travel agent / booking channel = homepage
 
d) Search engine organic
 
  ResID_Source (utm_source) = google.com
  ResID_SourceContext (utm_medium) = organic_search
  ResID_Value (utm_campaign) = 
  Travel agent / booking channel = homepage
 
e) Search engine paid (ex. Google Adwords)
 
  ResID_Source (utm_source) = google.com
  ResID_SourceContext (utm_medium) = cpc
  ResID_Value (utm_campaign) = [campaign-name]
  Travel agent / booking channel = homepage
 
f) Social media content link (ex. Facebook)
 
  ResID_Source (utm_source) = facebook.com
  ResID_SourceContext (utm_medium) = social_media
  ResID_Value (utm_campaign) = [facebook-post]
  Travel agent / booking channel = homepage
 
g) Social media paid (ex. Facebook Ads)
 
  ResID_Source (utm_source) = facebook.com
  ResID_SourceContext (utm_medium) = cpc
  ResID_Value (utm_campaign) = [campaign-name]
  Travel agent / booking channel = homepage
 
h) Newsletter
 
  ResID_Source (utm_source) = newsletter-[company-name]
  ResID_SourceContext (utm_medium) = email
  ResID_Value (utm_campaign) = [newsletter-name] (ex. NL 09/2017)
  Travel agent / booking channel = homepage
 
i) QR Code in Bergwelten magazine
 
  ResID_Source (utm_source) = bergwelten
  ResID_SourceContext (utm_medium) = qr_code
  ResID_Value (utm_campaign) = [magazine-name] (ex. Bergwelten 08/2017)
  Travel agent / booking channel = homepage

2. Request or reservation via landingpage
 
a) Bookings/enquiries on landingpages from Google Adwords
 
  ResID_Source (utm_source) = google.com
  ResID_SourceContext (utm_medium) = cpc
  ResID_Value (utm_campaign) = [campaign-name]
  Travel agent / booking channel = landingpage

b) Bookings/enquiries on landingpages from portal links

  ResID_Source (utm_source) = portalwebsite.com
  ResID_SourceContext (utm_medium) = referral (or exact medium type of portal, ex. "banner", "membership", "toplinks")
  ResID_Value (utm_campaign) = [campaign-name]
  Travel agent / booking channel = landingpage
 
3. Reservation on a booking platform

a) Bookings on booking portal (ex. Booking.com)
 
  ResID_Source (utm_source) = 
  ResID_SourceContext (utm_medium) =
  ResID_Value (utm_campaign) = 
  Travel agent / booking channel = booking.com
 
b) Bookings/enquiries on portals (ex. suedtirolerland.it)
 
  ResID_Source (utm_source) = 
  ResID_SourceContext (utm_medium) =
  ResID_Value (utm_campaign) = 
  Travel agent / booking channel = suedtirolerland.it (Peer.Travel)


mikel...@gmail.com

unread,
Sep 23, 2017, 3:25:44 AM9/23/17
to AlpineBits
Hi there, I'm new here
Michael Zimmerhofer working at Hotel Schwarzenstein

Christian Peer sended this link to me.

At our hotel we solved this problem last year and would give you some inputs.
1. Less is more, no hotel owner has time to spend hours to get an overview of whats going on.

On Werbemedium we can choose from
- Feedback (our homepage's requests)
- Feedback LP (our landingpage's requests)
- Internet (every partner portal)
- Messe (fairs)
- Reisebüro (travel agency)
- Telefon (phone)

On Werbepartner we fill in the actual partner (empty most times)
- ex. utm_source (utm_medium and utm_campaign we combine at Werbekampagne with a "-")
- Portalname
- goolge (adwords)
- google (organic)
- Newslettername
- fair name
- etc.

On Werbekamgane we only fill in the utm_medium and utm_campaign joined with a "-"

On Buchungskanal we fill in the company name - most of the time we get an overall invoice of companies, so you can easily compare booking value with costs.

IN ASA
In the asa reports you can find a standard report for Werbemedium and in there Werbepartner. So you can get a full overview in a few minutes.

Give the possibility in the first field Werbemedium to choose the major channel (phone, internet, etc) for comparing costs this is very helpful.

Thanks
Michael

for more informations everyone can contact me on +39 3491632732

Matteo Dalle Feste

unread,
Sep 27, 2017, 9:29:17 AM9/27/17
to AlpineBits
Hi Matthias,

We send 2 kind of newsletters:
- One where we promote more than one zone, location, topic, or lodging..
- One where we send an Email marketing comunication dedicated to a single lodgind

for each webportal we have these kind of options (emails differs by layout, target addresses )

Daniele Gobbetti - Peer GmbH/Srl

unread,
Sep 29, 2017, 5:42:08 AM9/29/17
to alpin...@googlegroups.com
Hi all,

regarding this example:


On 22/09/2017 11:06, Matthias Ebner wrote:
3. Reservation on a booking platform

b) Bookings/enquiries on portals (ex. suedtirolerland.it)
 
  ResID_Source (utm_source) = 
  ResID_SourceContext (utm_medium) =
  ResID_Value (utm_campaign) = 
  Travel agent / booking channel = suedtirolerland.it (Peer.Travel)

Our proposal is to specify it like this:

  ResID_Source (utm_source) = suedtirolerland.it
  ResID_SourceContext (utm_medium) =
  ResID_Value (utm_campaign) = 
  Travel agent / booking channel = Peer.Travel

Would that be compatible with the guidelines of your proposal?

Best,
Daniele

--
Daniele Gobbetti
Head of Development & Operations
  Peer GmbH/Srl - www.peer.biz
Tel. +39 0471 631080 - Fax +39 0471 631724

peer.travel | peer.tv | peer.today

Matthias Ebner

unread,
Sep 29, 2017, 8:41:27 AM9/29/17
to AlpineBits
Ciao Daniele,

in my opinion your proposal fits well with the other examples.

Matthias

Stefano Seppi

unread,
Sep 29, 2017, 9:24:23 AM9/29/17
to AlpineBits
Hi all!

today the board decided to insert in the documentation the example purposed by Matthias with the last change purposed today by Daniele.

Thanks to everybody for the feedbacks and the positive and constructive discussion.

Bye
Stefano

david....@hgv.it

unread,
Dec 17, 2018, 8:30:05 AM12/17/18
to AlpineBits
I noticed the change by Daniele makes the booking.com example in the documentation inconsistent. In booking.com ResID_Source is empty, whereas suedtirolerland.it has it filled out with it's domain name.


a) Bookings on booking portal (ex. Booking.com)

ResID_Source (utm_source) =

b) Bookings/enquiries on portals (ex. suedtirolerland.it)

ResID_Source (utm_source) = suedtirolerland.it

To make it consistent i would propose to use booking.com in ResID_Source too. What do you think?

Matthias Ebner

unread,
Jan 9, 2019, 8:29:59 AM1/9/19
to AlpineBits
Hi David,

in my opinion it is ok/correct to add the domain name as ResID_Source it the travel agent/booking channel property is also filled with a meaningful information.
Primarily Peer/Suedtirolerland ist the channel where the reservation arrives from. Additionally in this case it is ok/correct to add the domain as ResID_Source.

Best regards,
Matthias

david....@hgv.it

unread,
Jan 17, 2019, 9:30:44 AM1/17/19
to AlpineBits
Thanks Matthias for your feedback! We discussed this today in the meetup, the relevant ticket is https://gitlab.com/alpinebits/developers-kit/issues/24
Reply all
Reply to author
Forward
0 new messages