Hotel Email Marketing With AI: Past-Guest Segments and Subject Lines

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Hotel Email Marketing With AI: Past-Guest Segments and Subject Lines.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Hotel Email Marketing With AI: Past-Guest Segments and Subject Lines.

Export your past stays from the property management system with names and email addresses removed, ask an AI assistant to propose three to five segments by stay type and season, then have it draft a subject-line set for each. Email only guests who gave marketing consent, and judge subject lines by clicks and bookings, not opens.

The assistant never needs your guest list. It reads an anonymised table, suggests the rules and drafts the wording, while your email tool applies the rules to real addresses and your consent records decide who is allowed on the list. Most hotel lists are also too small to prove a small subject-line win, so the plan below tests big differences and keeps a log.

Follow me on Instagram@sagnikteaches

Check consent before you build any segment

A segment is only as good as the permission behind it. Before anything goes near an AI tool, sort your past guests by where their address came from, because each source carries different rights to send marketing.

Connect on LinkedInSagnik Bhattacharya
Where the address came fromMarketing email?What to check
Direct booking by website, phone or emailYes, if the guest agreed to marketingA consent box separate from the booking confirmation, with the date and wording stored. A pre-ticked box is a weak record.
Booking through an online travel siteUsually no, using the address the site suppliedThese are normally masked relay addresses that expire soon after checkout. Collect a real address with consent at check-in or in a survey instead.
Corporate or agency bookingNot to the booker's addressThe address belongs to an assistant or travel desk, not to the person who slept in the room.
Wedding, event or group enquiryOnly about what they asked forAn enquiry about one event is not consent to a newsletter.
Newsletter sign-up or competition entryYes, as described at sign-upKeep the sign-up wording and clear out addresses that bounce.
Anyone who unsubscribed, complained or bouncedNoKeep a suppression list and apply it before every send.

On the second row, the detail matters. A Hospitality Net report quotes Booking.com's partner help as saying a property can message a guest from the time of booking until seven days after checkout or cancellation, and that the property receives a masked alias rather than the guest's private address. Windows differ between channels and change, so read the current rule in each extranet before you import anything.

Subscribe on YouTube@sagnikteaches

Rules also differ by where your guests live. Some places require explicit opt-in consent for marketing email, while others allow you to write to past customers if you offered a clear way out at the time. If you have guests in the EU, data-protection law such as the GDPR can apply to your list. Ask your data-protection adviser which rule covers each part of yours, and use the compliance checklist for AI-written emails for the sending side. Keep the date and wording of every consent in the guest record, because "they must have agreed" is not evidence.

Two kinds of detail stay out of every segment. The first is anything in the notes that hints at health, religion or other private matters; an allergy note on a booking is not a marketing attribute. The second is the history of a complaint. A guest who had a noisy room last winter should not receive "We miss you!" with a discount. They should hear from a person, using the approach in service-recovery scripts for guest complaints. Booking confirmations, pre-arrival messages and thank-yous are service emails with their own rules, covered in the pre-arrival and post-stay email timeline.

Export the stay data without names or emails

Ask the PMS for a stay-level export, one row per completed stay, covering the last 24 to 36 months. Keep only the columns that describe the stay itself.

ColumnWhat it tells the assistantNote
Guest ID (a number)Which stays belong to the same guestNever the name. Keep the lookup key in your own sheet.
Arrival date and nightsSeason, weekday pattern, length of stayUse the arrival date of the most recent stay for season.
Adults and childrenFamily, couple or solo travellerCounts only, no ages.
Room typeFamily room, suite, standardOften says more than the party size.
Rate code or planCorporate, leisure, package, direct offerThe code frequently reveals business travellers.
Booking sourceDirect, online travel site, corporate, agencyDecides whether you may use the address.
Room revenue bandRough value of the stayA band such as "under 150" is enough.
Marketing consent and dateWho is allowed on the listFilter to consent before you upload anything.
Stays before this oneFirst-timers and regularsA count, not a history.

Leave out names, email addresses, phone numbers, postal addresses, booking references, free-text notes and anything about payment. A guest ID is still personal data in the legal sense if you can look it up, so treat the file as confidential. Use a business plan (ChatGPT Business and Claude Team do not train on your content by default) or switch off model training in the privacy settings of a personal plan, and delete the upload when you have finished.

What 1,380 consented guests look like once sorted

The illustration here is a 31-room independent hotel. Its system holds 2,640 guests from the last 30 months, and 1,380 of them have recorded marketing consent. The owner filters to those 1,380, uploads the stripped export and asks the assistant to define stay types and count guests by the season of their last stay.

You are helping a 31-room hotel plan email marketing. The attached file has one
row per stay for guests who agreed to marketing email. There are no names.
Columns: guest_id, arrival_date, nights, adults, children, room_type, rate_code,
booking_source, revenue_band, stays_before.

1. Propose stay types using only these columns (for example family, business,
   couple, group). Give each a plain rule, such as "children at least 1".
2. Give each guest ONE stay type, using the first rule that matches, in the order
   you list them.
3. Use each guest's most recent arrival_date to assign a season: spring (March to
   May), summer (June to August), autumn (September to November), winter
   (December to February).
4. Return a table of guest counts by stay type and season, with totals.
5. Say how many guests match no rule and why.
Do not guess at anything the columns do not show. If a rule is a judgement call,
say so.

The grid it returned (illustrative, and my seasons are only a convention, so use your own calendar):

Stay typeSpringSummerAutumnWinterTotal
Couples120130150160560
Families602107040380
Business805010070300
Groups and events40503020140
All guests3004403502901,380

Before trusting it, count one cell by hand: filter the sheet to couples whose last stay was in winter and compare with the assistant's 160. Assistants write fluently and count unreliably, and one wrong rule can move hundreds of guests between rows.

My working rule is to email a cell on its own only when it holds around 150 guests or more, because below that the clicks and bookings are too few to learn from. That is a judgement call, so set your own floor. Here, merging the smaller cells leaves four live segments: families (380), business guests (300), couples whose last stay was in spring or summer (250) and couples whose last stay was in autumn or winter (310). The 140 groups and events guests are too varied for one email. The right message for a wedding party is a personal note from whoever sold them the event.

What the assistant proposed, and what I would change

A typical first answer is tidy and slightly wrong. Three fixes were needed before these segments could be used.

  • A "loyal regulars" segment of 41 guests. The assistant built it from guests with three or more stays. Forty-one is too few for a campaign, so tag them and leave them in their stay-type segment, with a line in their email thanking them for coming back.
  • Couples split by room type. Standard against superior rooms sounded sensible, but the email would read the same. Segments should differ in what you will say, not only in what the data can show.
  • Business guests defined as "one adult". That swept in solo leisure travellers. Rate code and weekday pattern (Sunday to Thursday arrivals) are better evidence, so ask the assistant to name the rule it used and how many guests it affects.

Ask it to write the rules as spreadsheet formulas or filter conditions, so the same logic runs next month without another chat. Add the result to your sheet as a column called segment, then import that column into the email tool as a tag.

Three emails drafted from the segment sheet

Each email starts from the same briefing page: hotel facts, segment facts, one offer, voice rules and a ban list. The offer always comes from you. The assistant may not invent one.

Write one marketing email for past guests of [Hotel name], a 31-room hotel.
SEGMENT: [describe it and give its size, for example: families who stayed last
  year, 380 guests, most of them in summer]
OFFER (use exactly this, add nothing): [the offer, the stay dates it covers, the
  booking deadline and the conditions]
FACTS YOU MAY USE: [5 to 8 true facts about rooms, breakfast, parking, check-in]
VOICE: warm, plain, short sentences, no exclamation marks, no emoji, British
  spelling.
LENGTH: 90 to 120 words, one booking link, one line inviting a reply.
DO NOT: invent discounts, upgrades, scarcity ("only two rooms left") or amenities;
  mention anything about the guest beyond the segment description; mention
  complaints; use "treat yourself", "escape" or "unwind".
RETURN: 1) ten subject lines in five different styles, each under 50 characters,
  2) a preview line for your best three, 3) the email body, 4) a list of every
  claim in the email that I must check before sending.

The last instruction does the most work. A list of claims turns the proofreading from "read it and hope" into a checklist you can tick in two minutes.

Email one: families, sent in January

The offer is breakfast free for children under 12 on direct family-room bookings for the peak weeks, booked before the end of February. This is the draft after trimming:

Subject: Next summer's family rooms are open

Preview: Breakfast is free for children under 12 when you book direct.

Hello [first name],

Last summer you stayed with us as a family, and the rooms for next summer are now open to book. Our family rooms sleep up to four, and children under 12 have breakfast free when you book direct before [date].

Rooms for the school holidays always sell out first, so if you have dates in mind, take a look here: [link]. If you would like a cot or a particular room, reply to this email and [name] at reception will arrange it.

We hope to see you again,
[your name], [Hotel name]

Two edits. "Always sell out first" was not backed by anything in the fact list, so I replaced it with a line from the occupancy report, such as "Last year the family rooms were full on 5 of the 8 school-holiday weekends" (an illustrative figure; use your own, and only if it is true). The draft also opened with "last summer", which is wrong for the 170 families in the segment whose last stay fell in other seasons, so the prompt should have said "when you last stayed with us". The subject-line pair to test is the plain date-led line above against an offer-led one: "Free breakfast for children: book direct before [date]".

Email two: business guests, sent in early spring

The offer is 15% below the usual weekend rate for a Friday or Saturday night booked direct, one night minimum, subject to availability. Business travellers know the rooms already, so the email leans on that.

Subject: The room you know, at weekend rates

Preview: 15% off a Friday or Saturday night when you book direct.

Hello [first name],

You have stayed with us on work trips, so you already know the rooms and the breakfast room. If you have ever thought about bringing someone back for a weekend, a Friday or Saturday night is 15% below our usual weekend rate when you book direct before [date], subject to availability.

Weekend breakfast runs until 10:30. Dates and rooms are here: [link]. A reply to this email reaches reception directly.

[your name], [Hotel name]

The assistant's first version praised "the quiet corridor" and told readers to "escape the office". The corridor was invented and the phrase was on the ban list, which shows that a ban list only works if someone reads the output. This segment is also where the consent check matters most. Many of these guests were booked by an assistant or a travel desk, so confirm that the address in the segment is the traveller's own and that it carries a consent flag.

Email three: couples whose last stay was in autumn or winter

The offer is a two-night midweek package: dinner on the first night, breakfast both mornings and a 12:00 checkout, at [price], available on named dates.

Subject: Two midweek nights, dinner included

Preview: Dinner, breakfast and a 12:00 checkout from [price].

Hello [first name],

It has been a while since your last stay in the cooler months, and our quieter midweek dates are open again. The package is two nights with dinner on the first evening, breakfast on both mornings and a checkout at 12:00, from [price], for stays between [dates].

Rooms are limited on each date, so the dates are listed here: [link]. If you are celebrating something, reply and tell us, and we will see what we can arrange.

[your name], [Hotel name]

The first draft promised "a complimentary upgrade to our best room". No such upgrade existed, and a guest who arrives expecting one becomes a complaint. The claims list caught it, because the assistant had to admit that "upgrade" came from nowhere. Before any email reaches its segment, send the proof to two colleagues and ask each to say what the offer is, in one sentence, after a single read. If they disagree, the guests will too.

Ten subject lines per email, then two for the test

Subject lines are where assistants help most, because ten variants cost nothing. The prompt above asks for five styles, which stops the ten from being ten rewordings of one idea.

StyleExample for the families emailWhat to watch
Plain labelNews from [Hotel name]A fair control, but it gives nobody a reason to open.
Date-ledNext summer's family rooms are openNeeds real dates behind it.
Offer-ledFree breakfast for children: book directThe conditions must be true and visible in the email.
Memory-ledLast summer at [Hotel name]Use the season only, never exact dates or room numbers; specifics feel intrusive.
QuestionWhere will the family stay next summer?Easy to overuse. One question line in a year is plenty.

Choose two that differ in one thing only. Offer-led against date-led is a good pair because it answers a business question (does an offer beat a date?) rather than a stylistic one (does a full stop help?). Run the shortlist through a quick check: under 50 characters, no shouting capitals, no scarcity you cannot prove, and a promise that the email itself keeps. Then preview on your own phone, because many inboxes cut a line short.

A 1,200-guest split cannot prove a one-point difference

A hotel with a bigger list splits a 2,400-guest send into two halves of 1,200 (illustrative figures). Variant A draws 31 clicks and variant B draws 44. That is 2.6% against 3.7%, and it feels like a clear win for B. It is not. A gap that size appears by chance about one time in eight even when the two lines are equally good, so B is a lead, not a result.

The sums behind that, at the usual standard of 95% confidence and an 80% chance of spotting a real difference, look like this:

Gap you hope to detectGuests needed in each variant
2% clicking against 4% (a doubling)about 1,100
4% against 6%about 1,900
2% against 3%about 3,800

A list of 1,380 consented guests cannot split that many ways, so the practical rules are these. Test bold differences, such as an offer against no offer, rather than punctuation. Repeat the same contrast on the next two sends before believing it; if offer-led wins three times by a similar margin, act on it. Write every test in a subject-line log with the date, segment, both lines, sends, clicks and bookings. And measure by bookings from a tracked link or code, not opens. Apple says Mail Privacy Protection helps users prevent senders from knowing when they open an email, so open counts include messages that were never read. For more on testing wording across sends, see AI for marketing emails: subject lines, body copy and testing.

Sending it: tool limits, tracked links and a proof check

Check what you already have. Some booking systems include an email tool, so see whether yours can filter by consent, booking source and last-stay date and report clicks by campaign. If it cannot, a separate tool and a CSV export are enough. As one example, Mailchimp's pricing page shows a free plan limited to 250 contacts and 500 sends a month (250 a day), so a 380-family send already needs a paid plan. As of October 2026 its entry paid plans list from $13 a month at 500 contacts and rise with list size, so enter your own number on the page. Essentials allows ten sends per contact a month, and Mailchimp bills automatically for overages if you pass either limit, so keep unsubscribes and bounced addresses out of every new import.

  1. Import and tag. Upload the sheet with the segment column and send each email to its own tag. Apply the suppression list first.
  2. Track the outcome. Add a campaign tag to the booking link so your web analytics can attribute direct bookings, and give each segment its own promo code (for example FAM-JAN) that reception can see on the booking.
  3. Proof it. Send a test to three personal inboxes on different providers, open it on a phone, click every link and check that the unsubscribe link works and the reply goes to a monitored inbox.
  4. Sign it as a person. A named sender from the hotel gets more replies than a no-reply address, and replies are where the useful questions arrive.
  5. Put the basics in every footer. Your business name, a postal address (many anti-spam laws and many email tools insist on one) and a one-click way to unsubscribe, honoured immediately.

Reading the results six weeks after each send

Here are illustrative results for the three sends, each measured six weeks after it went out, so the rows span most of a year. Bookings are counted from the promo codes and tracked links, and unsubscribes come from the email tool.

EmailSentClicksBookings via codeRoom-nightsUnsubscribes
Families (January)380275142
Business guests (March)30015241
Couples, cooler months (October)31022471
Total9906411254

At an average of $150 a night, those 25 room-nights are $3,750 of direct revenue, from an entry-level email tool and about two hours of owner time per send. Each direct booking also avoids a booking-site commission, whose rate is in your own contract. The honest reading is smaller than the headline. The families email did best on bookings per send, the business email did worst, and the unsubscribe counts say nobody minded being written to. That is enough to decide what to repeat (the January families send) and what to rework (the business offer, perhaps by widening it to Thursday nights).

Do not rank the subject lines from numbers this small. Add each test to the log and look at the log again after a year, because a pattern across ten tests is worth more than a winner in one.

Three slips that show up in the first send

  • Relay addresses in the import. One owner's first send bounced 42 of 380 addresses (illustrative) because the export mixed in masked addresses from an online travel site. Filter on booking source and consent before every import, and clear bounces after each send.
  • Invented scarcity. The draft said "only two rooms left" when eleven were free. Facts come from your pack, and the claims list exists to catch the rest.
  • A complainant on the list. A guest who had written an angry email last year received a cheerful offer and replied in capitals. A complaint flag in the guest record, applied as a suppression rule, would have stopped it.

If you would rather map the consent rules and segments against your own booking system, that is the sort of job my AI implementation consultation covers.

Questions hotel owners ask about emailing past guests

Can I email guests who booked through an online travel site?

Usually not with the address the site gave you. Those addresses are normally masked relay addresses that stop working soon after checkout, and the sites restrict marketing use. Ask for a real address with consent at check-in or in your post-stay survey, and check each channel's current partner rules before importing anything.

How often should a small hotel email past guests?

Start with one email a season per segment and watch unsubscribes and complaints after each send. If both stay close to zero and bookings arrive, add a send. If unsubscribes jump, you are writing too often or to the wrong people. Your own list tells you more than any general rule.

Should the AI send the emails automatically?

No. Let the assistant draft, then have a named person check every claim, price, date and offer before it goes out. Ask the assistant to list each claim it made, so the check takes minutes. Automation belongs to service emails such as pre-arrival messages, not to marketing offers.

My booking system already has an email tool. Do I need another?

Not necessarily. Check whether the built-in tool can filter by consent, stay date, booking source and room type, and whether it gives link clicks by campaign. If it can, use it and keep the segment rules from this tutorial. If it cannot, a separate email tool plus a CSV export does the job.

Further reads

Sources: Mailchimp pricing page (free plan limits and entry plan prices, checked October 2026), Apple newsroom (Mail Privacy Protection), Hospitality Net report on Booking.com guest-messaging windows.

Want your past-guest list segmented and emailed properly?

On a 1:1 call we'll look at what your booking system can export, choose the two segments worth emailing first, and set up a consent-safe routine your team can run every month.

Book a 1:1 call with me