Personalizing the communication of the whole customer funnel has always been an ambitious goal for travel marketing. Reaching this objective requires strong ties between technology, data and human touch.

Creating tailored, relevant messages for customers helps increase the effectiveness of marketing actions.

For companies like FlixBus, it is essential to avoid overcommunication with users by reducing the amount of interactions to a minimum number of valuable, informative messages.

What is the real impact of personalization? In this article we will analyze how, for an expanding firm like FlixBus, customizing the marketing actions based on geolocation has impacted the performance— in every stage of the funnel.

Before starting: what is FlixBus? Shortly said, FlixBus is a mobility provider operating since 2013 with an aim to change the way millions of people travel. The FlixBus App allows users to easily search for trips from more than 2,500 destinations and book their e-tickets without hassle. The company has also expanded its network outside of Europe to include new markets, such as the US.

Personalizing user messages has varying degrees of difficulty as it relies on the amount of user data that a company owns and/or has access to. In the travel industry, information such as user location plays a pivotal role when companies want to deliver targeted communications.

For this, we present 5 focal points covering the main objectives we undertake to drive user growth: Acquisition, Activation, Engagement, Retention and Reactivation.


What is the real value of personalization in the upper part of the funnel? How complicated can it be to customize a message, given the fact that we still do not have solid information about the user?

To make our message more relevant for the user, a key communicational element is to promote the right product to the right person. In travel advertising, the location of the user can help companies in segmenting the products into offers related to specific locations. Geolocation advertising is widely used in channels like Facebook (FB) and Google, but the struggle comes when the number of locations and products reach a level where human work cannot be sustainable.

In our case, the issue is that FlixBus now has more than 400,000 daily bus connections that need to be advertised in over 2,500 cities. For those familiar with FB ads, this task requires creating a different ad-set for every city and an ad suitable to the targeted users. But creating those ads is not enough; ticket prices are constantly changing, and new connections are added to our network on a daily basis. How could we solve this problem without investing too much time?

In the beginning of the article we mentioned how automation helped us in saving time and cut costs. To always have fresh and customized ads, we developed a process, which takes data from our back-end and automatically populates a feed with cities, top bus connections from those locations, real-time prices, and text elements. The feed then creates and/or updates FB ad campaigns in real-time. The edits are done through API calls or with the usage of automaton tools, such as Smartly.

That being said: what is the overall impact of this? To measure the effect, we decided to test those new campaign types in the US market. The reasoning was that it was a new market and FlixBus did not yet have strong brand recognition. Therefore, we had a reason more to give a clearer message (e.g., saying that with FlixBus you can travel from [your city] to [suggested destinations] from only [price in dollars]).

The results were positive and matched our expectations: a 59% increase in click-through rate and a 47% decrease in CPI was attributed to the fact that the ad was speaking directly to the user and mentioning products with high relevancy. Not only did the ad appear more appealing to the user, but it was also helpful in showing what is the mobility service offers.


All of this was enough to drive an install, but now what do we do?

Message customization can be useful during the user’s onboarding experience. For example, a user might have downloaded the app and only opened it just to explore the possibilities within it. The objective is now to deliver a message, which is both effective and communicates what the user can do with what he/she just installed. Unfortunately, since the interactions that the user had with the app are just a few or even zero, the data collected is minimal. Among the data obtained, we might have the city where the user installed or where he/she opened it for the first, which would be provided by from our tracking partner. At this stage, every minute piece of information can become useful. If we know where the user is at the moment, we can include a list of examples of cities in the welcome message where he/she could directly travel to, and with a competitive price.

A push notification is one example how to do this. Showing what the user can do with the app and where he/she can travel to may be enough to increase the engagement and gather enough touchpoints to get to know the user better.

Speaking on behalf of the example, the recorded uplift was not as high as the first test. A small 2.5% increase in activation rate is not enough to say that a customized welcome message activates more users than a static one. However, what we’ve learned here is important for the next upcoming steps, and the data gathered can and is likely to become useful later.


User location also helps FlixBus in creating the right segments to rightly communicate price promotions.

Price promotions are a part of our daily routine. The amount of price campaigns carried out in FlixBus is massive and the danger of delivering irrelevant communication regarding price reductions to users that might be not interested is increasing. The reason is that our price promotions are based on bus connections and cities (e.g. reduced prices for connections from Berlin to Munich or from Los Angeles to Las Vegas) and should only be communicated to people that could be interested in them. To achieve this, the city-location data helps us in defining which users are in a certain city and send them push notifications [or in-app messages] if they are in the desired target group. It is important to mention that the increasing amount of communications, promotions, and used channels is slowly forcing us to move from country-based targeting to a more granular, city/regions-based.


The messages related to onboarding, relevant products and discounts are hopefully enough to drive the new user to use the app. The engagement and the different touchpoints help us to shape the user’s profile, and to know what the user is interested in and how could our app help him/her.

Customization of the message can be also applied to retargeting campaigns. Paid and non-paid retargeting, if executed and tested correctly, can help in driving those “low-hanging fruits” conversions that otherwise could not happen or, even worse, have the user to decide to buy a competitor’s product. In the travel business, for example, users are really price sensitive: in comparison to other industries, and slight price difference or a travel unavailability are enough to make the customer switch to another mobility provider in no time.

Testing the incrementality of particular audiences is an important challenge for marketers. FlixBus also deals with uplift testing—by segmenting audiences and proving the difference in performance between test variations. Once the audience and targeting have been proven to deliver incremental value, it is then possible to optimize the campaign working on creative and message optimization. In our case, we decided to test a personalized message showing the bus connection searched and updated price(s). The dynamic creatives and texts were tested against static ones in multiple channels: FB, display networks, and non-paid communications. The results showed a substantial increase in performance: the ROAS increased by x1.9. We justified this performance increase with two possible reasons:

  • High product relevance: showing the user the bus connection they searched for and a picture of the city they are interested in not only increased the upper-funnel KPIs, but the return on investment, as well.
  • Dynamic fields in the message: creating a connection between our backend with the data forwarded to display partners, advertising platform, and our CRM system allowed us to communicate the right price to the right user. This helps to enrich the message and push users to book before a plausible price increase.


Like in every app business, it is possible users become inactive after having used the app for a short or long timeframe. Reactivation of those users can be tricky because the data received is not regularly updated. To build an effective message, we would need to solely rely on data gathered in the past and build assumptions out of it. As shown with the previous examples, geolocation can also prove useful in this stage. Promotions, price reductions valid only in particular areas, and new connections from defined cities can be highly relevant and boost the reactivation rate [if communicated at the right time.] The challenge, however, lays in the available data: if it was easy to get location or search data beforehand, the information of an inactive user could potentially be too outdated. The FlixBus app is often used during holidays and road trips; what are the chances an inactive user is still located in the last city tracked by our system?

For this reason, we built a model aiming to predict the real home city of the users by using different data points. The model is fed by all the activities in which the user took part: bookings, searches, and product views. If, for example, the model checks that a certain user booked different trips from New York with a considerably high amount of time lapsing between them, it could assume the user likely lives there. The prediction of user home cities is essential in ad customizations and notifications.

To wrap-up

To summarize the learning outcomes, let’s take a look at what the buzzwords are that represent each stage of the funnel:

Acquisition: For companies expanding in different directions—from either the product or market side—it is important to consider that personalization will require different levels of effort from advertisers. If your scope is to grow while maintaining the same level of message customization, it is hard not to stumble upon Automation. In FlixBus’s case, this is something that helped in minimizing the time of day-to-day tasks in order to enable the advertisers to better focus their time on more strategic and growth topics.

Activation & Engagement: FlixBus users are not all a part of a unique segment; commuters, holiday travelers, and expats all use our service for different purposes. Educating the user on how he/she can use our app and maximize the benefits is part of our mission. To do so, we can involve the process of Customization, which allows us to shape messages according to users’ preferences, desires, and to give an overall unique experience.

Retention & Reactivation: It is not simple to define what makes a difference between a successful reactivation action and a failure. Something we noticed was that the success rate was directly correlated to the amount of Data we owned at that moment. Searched products, booked trips, and favorite destinations are what is needed to define key characteristics of a customer’s persona. The more we know, the higher the possibilities are to shape an effective message that could, in turn, bring the user back into the game.