Dynamic Pricing for Attractions: How It Works When You Sell on OTAs
Dynamic pricing for attractions means changing your ticket price based on demand: by date, time slot, how full a departure is, or how far ahead people book. It works on OTAs too, but not in the way most booking-software guides describe. Parity clauses, sync schedules and net-rate models all change what a price change actually earns you.
Most operators don’t do it at all. Arival’s research found that seven in 10 tour, activity and attraction operators use static pricing: one price, set at the start of the season, never touched. Only 7% use dynamic pricing.
If you’re in the seven in 10, that’s not a failing. Changing prices takes time you don’t have, and the advice out there is mostly written by software vendors for operators who sell direct. This guide covers what to vary, how GetYourGuide and Viator handle price changes, and where the usual advice can put you in breach of your contract.
Key Takeaways
- Arival’s operator research (June 2025) found 70% of operators use static pricing, 20% use variable pricing and only 7% use true dynamic pricing. Start with variable pricing.
- GetYourGuide’s terms require your price there to be equal to or better than your own website’s. So vary prices by date and time slot on every channel at once, not channel by channel.
- GetYourGuide’s Price over API doesn’t update in real time. Dates more than 90 days out refresh only every eight days, so price cuts are the risky direction.
- On Viator you set a net rate. Since 1 August 2026, Viator and its partners set the price travellers see.
- Last-minute discounts mostly give margin away. Arival found only 15% of people booking within three days do so for a better deal. 41% cite flexibility.
What Is Dynamic Pricing for Attractions?
Dynamic pricing for attractions is a pricing approach where the ticket price changes often, in response to forecast demand, seats remaining or outside factors such as weather. It sits at the far end of a scale. At the other end is static pricing, where the price stays the same all season. Between the two is variable pricing, where prices differ by day or time but are set in advance.
Arival uses exactly these three terms in its Global Operator Landscape research, and the split is worth knowing:
| Static | Variable | Dynamic | |
|---|---|---|---|
| What changes | Nothing | Price by day of week, time slot or season | Price by demand, capacity left, lead time, weather |
| How often | Once a year | Set in advance, fixed for the season | As often as daily, or more |
| Share of operators | 70% | 20% | 7% |
| What you need | A price | A booking system with pricing rules | Rules or an algorithm, plus good demand data |
| How it behaves on OTAs | No issues | Works well if every channel moves together | Sync delays and parity become real problems |
Source: Arival, June 2025. Figures are rounded.
Interest is growing quickly at the top end. In the same research, 16% of all operators called dynamic pricing a top strategic priority for the next year. Among enterprise attractions with more than 500,000 visitors, adoption was expected to rise from 12% to 37%.
For most operators, though, the honest answer is to start with variable pricing. Arival’s own advice, back in 2023, was “walk before you run”. A peak-season price and a cheaper midweek price will capture most of the gain without any algorithm.
The Levers You Can Actually Pull
Every pricing rule uses one of four levers. They behave differently once OTAs are involved.
Season and date
Seasonal pricing on OTAs is the simplest lever, and the safest. You know in advance that August is busier than November, and that bank holiday weekends sell out. Set the prices months ahead and every channel has time to catch up.
Day of week and time slot
Saturday at 11:00 sells differently from Tuesday at 16:00. Pricing the slots differently spreads demand and fills weaker departures. GetYourGuide supports different prices for different time slots. Viator’s pricing is organised by season and day of week.
Capacity left
Raising the price as a departure fills up is a classic yield management move. The catch for OTA sellers is that capacity is shared. If 30% of a departure’s seats sell through GetYourGuide, 40% through Viator and the rest direct, your booking system has to see all of it, and every channel’s price has to follow quickly. Most don’t follow quickly enough (see the sync schedule below).
Lead time
This is the lever operators reach for first, usually as a last-minute discount to fill empty seats. It’s often the wrong move. Arival’s research on why travellers book when they do found that, of people booking attraction tickets within three days, 41% did so for flexibility and only 15% because they found a better deal. Early bookers were the price-sensitive ones: 33% cited better pricing and 32% cited availability.
In practice, a last-minute discount mostly goes to people who would have booked anyway. If you want to reward anyone with a lower price, reward the early bookers.
Take Niamh (a hypothetical example). She runs a 12-seat boat trip in Kinsale. She cut her price by 20% for anything still unsold 48 hours out.
Over a summer, her last-minute bookings barely moved, and her average price fell, because the people booking late were mostly checking the weather, not the price. When she dropped the discount and offered a small saving for booking 30 days ahead, her late bookings held steady. Her early bookings rose.
How Dynamic Pricing for Attractions Works on OTAs
This is the part the booking-software guides skip. GetYourGuide and Viator don’t treat your price the same way, and neither updates instantly.
GetYourGuide: retail price, parity and the sync schedule
On GetYourGuide you set a retail price: the price the traveller pays, including taxes and fees. GetYourGuide takes its commission from that. If your booking system supports it, GetYourGuide’s Price over API feature pulls prices automatically, including different prices per time slot, and those API prices override anything set manually in the supplier portal.
It isn’t real time. GetYourGuide’s help centre gives this default refresh schedule (as of October 2026; check for changes):
| How far ahead the date is | How often GetYourGuide refreshes the price |
|---|---|
| Next 7 days | Every 4 hours |
| Next 30 days | Every day |
| Next 90 days | Every 4 days |
| Next 365 days | Every 8 days |
GetYourGuide says the timing “may vary”, and that urgent changes need the push availability endpoint, which your booking system may or may not support.
Now add parity. GetYourGuide’s published supplier terms require retail prices, availability and conditions on GetYourGuide to be equal to or better than those on your own online shops. That’s narrow parity: it compares GetYourGuide with your own website, not with other OTAs. Our guide to OTA contract terms covers the clause in full.
Put the two together and one direction is riskier than the other:
- When you raise a price, your website updates first and GetYourGuide catches up later. For a few days, GetYourGuide is cheaper than you. You lose some margin on those bookings, but you’re not in breach.
- When you cut a price, your website goes lower straight away while GetYourGuide still shows the old, higher price. For a date three months out, that can last up to four days, or eight for dates further ahead. Your own website is now cheaper than GetYourGuide, which is exactly what the parity clause prohibits.
The practical rule: set prices for far-off dates early, avoid rapid back-and-forth changes, and make cuts on dates you know will refresh soon.
Viator: you set the net rate, partners set the price travellers see
Viator works on net rates. You give Viator a net rate (what you receive) plus a recommended retail price, organised by season, with prices by day of week. You can update them through the Schedule and prices tab in the supplier extranet, or through the API if your booking system connects.
Since 1 August 2026, Viator’s updated supplier agreement (covered in our OTA contract terms guide) gives Viator and its distribution partners control over the final retail price. Partners such as Booking.com, Expedia and Airbnb can sell your experience for more or less than your recommended price. Your payout stays tied to your net rate.
What this means for dynamic pricing: on Viator, a price change is really a change to your net rate. Raising your peak net rate raises what you’re paid per booking. It doesn’t guarantee what the traveller sees.
For API-connected operators, Viator’s agreement treats your booking system’s live data as the “single source of truth” for rates, so your system’s pricing rules flow through, but the price on show is still Viator’s and its partners’ to set. Our guide to net rate vs gross rate explains why this split matters.
The commission maths: your increase is smaller than it looks
On any platform that takes a percentage of the retail price, the platform takes the same percentage of your price increase.
A simple example (hypothetical, at a 25% commission). A Belfast walking tour sells at €40 off-peak and €46 in August:
| Off-peak | Peak | Difference | |
|---|---|---|---|
| Retail price | €40.00 | €46.00 | +€6.00 |
| Commission at 25% | €10.00 | €11.50 | +€1.50 |
| You receive | €30.00 | €34.50 | +€4.50 |
The €6 rise is worth €4.50 to you. That’s still worth having, but it changes the maths when you weigh it against a possible drop in conversion. Our breakdown of OTA commission models covers how each platform calculates its cut.
Why “Just Price Higher on OTAs” Can Breach Your Contract
A common piece of booking-software advice goes like this: OTAs take around 20% commission, so set a higher price on OTA channels to cover it. Bókun’s guide to dynamic pricing for tour operators suggests exactly that, using separate price lists per channel, with only a passing warning that some OTAs require matching prices.
On GetYourGuide, it’s the wrong advice. If the same 10:00 Saturday slot is €46 on GetYourGuide and €40 on your website, your website is cheaper. That’s the clearest breach of narrow parity there is.
The problem is that the advice was written for operators selling direct and through resellers on negotiated rates. It wasn’t written for OTA marketplaces with parity clauses. Dynamic pricing for attractions on OTAs has to work across every channel at the same time. The price changes by date and slot, not by where the customer clicks.
The usual fix is to make direct bookings better instead of cheaper: an included extra, departure times only sold direct, or more flexible cancellation. Be careful here too. GetYourGuide’s published supplier terms cover “Retail Prices, Services Availability, amenities, and restrictions”, not just price. An extra is an amenity, an exclusive slot is availability, and a cancellation policy is a restriction. Any of them offered only on your own website could be caught by the same clause.
What sits more safely outside it, depending on your agreement’s wording:
- Channels that aren’t your online shop. Phone, walk-up and travel trade sales are outside a clause that compares GetYourGuide with your own online shops.
- Offers made after the visit. A discount on a return visit, handed out on the day, rewards your customers without changing what your website sells.
- Platforms without the same clause. Viator’s model is net-rate based and works differently, as above.
Read your own agreement before relying on any of these. The contract terms guide linked above shows where to find the clause and what to look for.
Yield Management for Tour Operators: A Starter Rule Set
Yield management for tour operators doesn’t need an algorithm. It needs a handful of rules, applied consistently on every channel. Here’s a set to start with:
- Set three seasonal tiers. Peak, shoulder and off-peak, with fixed dates. Load the whole year at least three months ahead. Our OTA distribution strategy guide shows which channels to lean on in each tier.
- Price your strongest slots higher. Add a modest premium to the departures that sell out first, usually weekend late mornings.
- Reward early bookers, not late ones. A small saving for booking 30 or more days ahead suits the people who actually care about price.
- Put guardrails on everything. Set a floor price and a ceiling price for each experience, and change prices in steps of 5% to 10%, not in jumps.
- Review monthly, change rarely. Look at the results once a month. Rewrite the rules once a season, not once a week.
Rule five matters more on OTAs than anywhere else. Every change you make has to travel through the sync schedule, and every big jump risks the conversion rate your ranking depends on. Arival’s 2026 piece on dynamic pricing mistakes makes the related point about fairness: price changes don’t damage trust in themselves, but prices that feel arbitrary do. Never leave an early booker feeling they overpaid.
How to Tell If Dynamic Pricing Is Working
Judge it on net revenue per ticket, not bookings. When prices change by season, booking numbers alone will mislead you, because a busy August at a higher price can show fewer bookings and more money. Our guide to measuring OTA performance sets out how to calculate it for each channel.
Watch three things after any pricing change:
- Net revenue per ticket, by channel, after commission.
- Conversion rate on each OTA listing. A price rise that cuts conversion can cost you ranking as well as bookings. Our guide to how OTA ranking algorithms work explains why recent conversion matters.
- The same weeks last year. Seasonality moves everything, so compare like with like.
Consider Tomás (another hypothetical). He runs a distillery tour near Dingle and added a 15% August premium. His August bookings on GetYourGuide fell 6% against the year before, and he nearly reversed it.
Then he checked net revenue per ticket. After commission, he’d earned more from fewer visitors, with fewer staff hours on his busiest days. He kept the premium and stepped it up gradually the next summer.
When Static Pricing Is the Right Call
Dynamic pricing for attractions isn’t right for everyone. Static pricing is often the better choice if:
- You’re small and mostly sell through OTAs. If 80% of bookings come through two platforms with sync delays, the admin can outweigh the gain.
- Your booking system can’t push prices to your OTAs. Updating prices by hand across three supplier portals is how parity breaches happen. Our Bókun vs FareHarbor vs Rezdy comparison covers which systems connect to which channels.
- Most of your volume is contracted. Tour operators and wholesalers buy on rates fixed a year ahead. Our guide to travel trade vs OTA explains why those contracts limit what you can change.
- You sell out every day anyway. Then the answer is a higher static price, not a pricing engine.
Where to Start
Dynamic pricing for attractions is mostly a rules problem, not a technology problem. Start with variable pricing: seasonal tiers and slot premiums, set well ahead and applied to every channel at once. Keep your website price no lower than GetYourGuide’s, be careful with cuts because of the sync delay, and remember that on Viator you’re setting a net rate, not the price on show.
Measure the result in net revenue per ticket, after commission, against the same weeks last year.
One thing to do today: open your booking calendar for next August and check whether the price is the same as November’s. If it is, set a peak tier now, while there’s still time for every channel to pick it up.

2 Comments