Increase order value and repeat purchases with recommendations
As a travel distributor, maximising the value of every customer interaction requires more than just a smooth checkout. It requires delivering the right suggestion at the right moment.
We have leveraged tens of millions of booking data points to build a dedicated Recommendations Engine within the Tiqets API. By moving beyond static popularity lists or manual curation, you can now dynamically surface products tailored to your users' specific journeys.
Integrate the Cross-sell recommendation endpoints to drive incremental growth through two primary channels:
Increase Average Order Value (AOV): Prompt customers to add complementary experiences to their shopping cart in real-time.
Drive Repeat Purchases: Re-engage customers with relevant, data-driven offers post-purchase.
We are manually enabling this feature for partners on a case-by-case basis. Reach out to get started.
Best use cases for commercial impact
To maximise the revenue generated by these endpoints, we recommend the following integrations:
1. The "in-cart" cross-sell
Where it fits:
basket/cart page, side panel, or a lightweight “You might also like” module after an item is added.
What to do:
call the Cross-sell endpoint using the ID of a product already in the basket.
Example:
The customer has Colosseum tickets in their basket.
You display 3–5 cross-selling options such as a city bus tour, a guided walking tour, or another nearby museum.

Tip
Use sort_by=conversion_rate here. The user is close to checking out; popular, low-friction add-ons typically convert better than niche or complex products.
2. The post-purchase CRM campaign
In your booking confirmation or date reminder emails, include a "Complete your trip" section.
Where it fits: booking confirmation emails, “your trip is coming up” reminders, or app push notifications.
What to do: call the endpoint using the main product the customer bought, and show a small curated section (usually 2–4 items).
Example:
The customer has already booked Louvre entry for next month.
In a reminder email, you can add a section like:
“Complete your Paris plans” → Seine river cruise, city tour, Musée d’Orsay.

You can also use your own logic to tailor this (e.g., prefer indoor activities if the travel date is in winter, or family-friendly options when you know they booked children’s tickets).
Tip
Use sort_by=commission. The user has already committed to the trip. This is an opportunity to introduce high-value, high-margin products they might have missed during the initial rush to book.
3. Recommendation carousels to help browsing
Where it fits: Destination landing pages, Product pages, itinerary builders, and editorial content (guides, blog posts).
What to do: Call cross-sell based on a popular “anchor” product or visited product you’re featuring on the page.
Example:
On a product page "Louvre museum: E-ticket" page, you could feature a carousel of recommendations for other products:

Tip
Keep the module contextual — a short block that supports discovery rather than a long list.
4. Best elements to show in a discovery page
(note: this use case doesn't actually need the /recommendations endpoints)
Where it fits: Destination landing pages, Experience pages (i.e. venues or activities).
What to do:
You want to show the best experiences in your destination pages, and you want to show the best products in your experience pages. Just use our regular /experiences endpoint (spec) and /products endpoint (spec), which already return results to you ordered by popularity.
Call these endpoints with the query parameters city_id and experience_id respectively for an optimal result.
Example:
On the Sagrada Familia discovery page make sure you organise the products with the most popular ones on top of the list:

Filtering Logic
Cross-sell performs best when the suggestions feel genuinely helpful. The filters below let you keep recommendations relevant, avoid duplicates, and tailor the module to the context of your page.
Here are several ways on how to keep your recommendations relevant using query parameters to filter the recommendations.
Exclude what the customer already has:
exclude_product_ids
exclude_product_idsa comma-separated list of product IDs to exclude.
Keep recommendations on-theme:
product_tag_idsproduct_tag_idsfilter recommendations by tag IDs (for example, “Guided tour”).
Choose the right goal for each moment:
sort_bysort_bysorting criterion. Supported values:balanced(default)conversion_ratecommission
Control variety vs. duplication:
max_per_experiencemax_per_experiencemaximum number of variations/options to show per specific museum/experience.
In most cases, you’ll get great results by setting exclude_product_ids, choosing an appropriate sort_by, and only using product_tag_ids / max_per_experience when you need extra control.
Technical Implementation for cross-sell recommendations
Use this endpoint to fetch complementary products to build a fuller trip.
Example request
A user just bought the Colosseum (ID 1111476). You want to cross-sell a museum, but exclude the Vatican (ID 1106279) because they already bought that yesterday.
Example response
Full endpoint spec here:
Get cross-sell recommendationsLast updated
Was this helpful?

