How to Measure a Low-Season Hotel Campaign Without Inflating Results

|Low Season Growth

A campaign report says that twenty bookings came through a promoted offer. That is useful information. It does not yet tell an owner how many guests stayed, what the hotel retained after delivering the package, or how much demand would have arrived without the campaign.

Those are different questions. Keeping them separate makes a report more useful—and makes its conclusions easier to trust.

This guide proposes a reporting method for independent hotels. It is a practical framework, not a study of hotel performance. The numerical example below is entirely hypothetical.

1. Define the dates before reading the dashboard

Write down both the booking window, when reservations must be created to enter the report, and the stay window, when the hotel wants those reservations to produce occupied room nights. For example, a September campaign might target November stays. September booking activity and November occupancy should not be treated as interchangeable.

Record the offer code, eligible room types, channels, reporting cut-off and exclusions. Decide how to handle reservations that overlap the stay window: report their eligible room nights, rather than crediting every night to the target period. Keep that rule unchanged during the review.

Maintain two views. The campaign cohort follows qualifying reservations from creation to their final outcome. The target-date view follows all business on the dates being improved, including reservations that pre-date the campaign. Do not add these views together: they answer different questions and can contain the same reservations.

2. Reconcile booking records before counting conversions

Use the property's reservation records to establish how many distinct reservations exist. Preserve one stable, non-personal booking identifier across exports and revisions. A modified reservation is not automatically a new booking; one reservation for several rooms is not automatically one room night.

For each booking, retain creation date, arrival and departure, room quantity, status, offer identifier, channel, revenue basis and last update. Keep guest names, email addresses and payment details out of a shared marketing report.

For GA4 web measurement, Google documents transaction IDs as a way to reduce duplicate purchase events from the same user. Its documentation states that this transaction-ID deduplication applies to web streams, not app streams. That does not reconcile every advertising platform or booking system for you. Source: Google Analytics transaction-ID guidance.

Do not add together conversions claimed by different platforms. Reconcile their claims against the same reservation list and retain the attribution source separately. Where a match is unavailable, label it unmatched rather than silently forcing agreement.

3. Separate booked, cancelled, pending and stayed business

A reservation can still be useful pipeline while remaining an uncertain final outcome. Show gross bookings and booked room nights, then cancellations, remaining on-books business and completed stays. Keep pending stays visible until the stay window has closed.

State how no-shows, retained cancellation fees, partial refunds and date changes are treated. A cancellation without a refund is not the same financial event as a fully refunded cancellation; neither is an occupied room night.

Google's ecommerce documentation provides a refund event associated with a transaction ID. Do not assume a change in the property-management system automatically reaches Analytics: verify the integration or reconcile the reporting difference explicitly. Source: Google Analytics ecommerce measurement.

4. Calculate contribution on a consistent basis

Start with realized revenue on a clearly stated basis, then deduct the costs included in your evaluation: distribution and payment costs, variable stay-delivery costs, included package benefits and campaign expenditure. Use the same currency and tax treatment throughout. Avoid subtracting a commission twice when the revenue figure is already net of that commission.

The result is a contribution measure under your stated assumptions. It is not automatically net profit, and it is not automatically the additional contribution caused by the campaign.

A hypothetical example—not an LSG client result

Assume twenty direct reservations, each for one room for two nights at €150 per night, excluding taxes. Four reservations are fully cancelled without retained fees. The other sixteen complete their stays. Assume no date changes, no additional room revenue and no separate commission charge.

Illustrative campaign-cohort calculation
Item Calculation Amount
Initial booked revenue 20 × 2 × €150 €6,000
Realized room nights 16 × 2 32 nights
Realized room revenue 32 × €150 €4,800
Assumed variable room-delivery costs 32 × €35 −€1,120
Assumed included benefits 16 × €20 −€320
Assumed total payment costs Including any cancellation-related charges −€144
Assumed campaign expenditure Full expenditure for this example −€500
Contribution under these assumptions €4,800 − €1,120 − €320 − €144 − €500 €2,716

All costs are invented for illustration, not industry benchmarks. Fixed overheads and any unlisted costs are excluded. The €2,716 is neither net profit nor proven incremental campaign impact. The hotel might have sold some of these rooms anyway.

5. Distinguish attribution from additional demand

Google Analytics describes attribution as allocating credit to interactions on the path to a key event. That is a measurement rule, not a direct observation of what would have happened without the activity. Source: Google Analytics attribution overview.

Where operationally feasible, define a comparison before launch. For example, randomly assign eligible, appropriately consented recipients to a promotion group and a holdout group, keeping other treatment comparable. Specify the outcome, timing and analysis in advance. Check for spillover, small samples and other campaigns that could contaminate the comparison.

When a credible experiment is not feasible, compare carefully selected periods or cohorts and disclose their differences: lead time, available inventory, events, pricing and channel mix. Such comparisons are descriptive evidence, not proof of causation. A small hotel should not manufacture certainty from a handful of reservations.

A report an owner can actually use

Use this structure for the next review:

Scope: booking window, stay window, offer, eligible channels and reporting cut-off.
Observed business: distinct reservations, room nights, cancellations, completed stays and pending stays.
Economics: realized revenue, included cost categories and contribution under stated assumptions.
Evidence: attribution method, reconciliation gaps and comparison design, if any.
Limitations: missing data, unsettled bookings and factors preventing a causal conclusion.
Decision: continue, revise or stop; name the owner and next review date.

The most credible conclusion may be: “The offer is associated with these completed stays; its incremental effect is not yet established.” That is more decision-useful than a larger number with no explanation.

Related reading: Booking-window strategy and the four-part hotel demand diagnostic.


Editorial note: Prepared with AI assistance for Low Season Growth. This is practical guidance, not independently validated research or a client case study. Sources linked above were consulted on 28 September 2026. Corrections or methodological feedback: contact Low Season Growth.

Use the same measurement discipline across markets

The operating path can change by market, but the measurement rule should not: define the unit, cohort and observation cutoff before interpreting results. Use the relevant guide to collect the operational inputs, then return here to reconcile confirmed reservations, cancellations, completed room nights, retained revenue and attributable costs.

From reading to action

Which dates need a clearer plan?

Choose one period with weak demand and bring your main question to a free audit. For a structured commercial plan, explore the 30-day Booking Sprint.

Book a free audit Explore the Booking Sprint
Prefer to write? Check your weakest dates