Writing with variables at Booking.com

How to write to infinity with the building blocks of language.

I want to put something before you and make you believe it’s magic.

It’s one of the most essential components of writing at Booking.com, and on the face of it, it’s the kind of un-writerly mechanical clunk that once would have had me bolt for the door.

But with it, I can write infinite variations. Word combinations I’ll never truly be able to grasp. Sentences that can endlessly flex and multiply, hidden in plain sight.

What it’s led me to believe — and forgive me, I’m about to get pretentious — is that how UX copywriters work here is something close to quantum linguistics. It’s made me think as much about what words really are as reading writers like William Burroughs or Jorge Luis Borges.

And its completely changed how I write.

This is a little introduction to writing with variables.

What’s a variable?

Variables are placeholders, basically. They’re as-yet-unknown elements of a phrase or sentence, to be alchemically magicked up later. They’re the link between copywriters and code, conjunctions and conditions, a bridge that lets a few small words take on a unique meaning for anyone who sees it.

I’d come across variables before in various copywriting jobs. But I was way more focused on getting the tone right, finding that snazzy little alliteration that’d tie a phrase together.

I was wholly unprepared for just how sophisticated things are at Booking.com — and how, working closely with developers, I could leverage the sheer power of a big data company like this to write in a totally different way.

Consider a basic sentence I might be writing for an average request:

The words in the squiggly brackets up there — that’s a variable.

I’ll write them in to stand for a concept, like a hotel name, your name or a place. Here, they’ll be filled with a number representing the total number of properties in a destination.

Between myself and a developer, we’ll figure out where that information should come from, rummaging around the cobwebbed codebase vaults and, by some dark arts and ritual chanting (I’ve literally no idea how coding works) it’ll spark to life whenever someone visits our site.

The thing is, every time one of those people visit, they bring all kinds of different things with them. Their name. The corners of the world they’ve been to, destinations they’re searching for, times and dates and kids and everything in between. And they’re looking at hotels — or apartments, boats, farmstays, to name just a few — with all the unique information they’re bringing into the mix.

Using variables means I have a shot at writing a single sentence that captures all those different forking paths, something that gets to mean something to every customer and partner that comes to Booking.com.

When do you use a variable in your copy?

Used correctly, you can aid the tone by bringing in someone’s first name and making something a little bit more persuasive.

You can make a sentence more specific and relevant, or more engaging by specifying the name of the place you’re off to next. You could also add in a mention of a filter that they’ve used before:

Practically speaking, using variables can shine a light in dizzyingly complex worlds like policy information. These are the places where all kinds of different information have to be combined depending on different kinds of logic, parsed into a syntax that makes sense and then made readable and human.

And your variable still needs to be flexible enough to work for 43 languages and dialects.

For that, we have all kinds of fancy lists in the backend code — already-translated elements for things like districts, festivals, attractions or landmarks. All these have different variations for when they need to be used by themselves, within a sentence, with or without an article, etc. We even have ways of allowing the language teams we work with to define exactly which variable they want to use to make every piece of copy as fluent as it can be (and avoid major difficulties when it comes to grammar).

Maybe it’s just me.

So let’s get mathematical. Here’s our sentence again, written with variables:

Let’s say we have over a hundred filters, and thousands of different cities where we offer places to stay. That equation will give us the total for {num_properties}. Now, add in the total number of registered Booking.com accounts with first names, times that number by 43, and we’re looking at a phenomenal number of possible combinations for this one sentence. And that’s even before you consider that you can add variables to indicate styling conditions.

After a while, this becomes second nature. It gives you a single sentence which can be as relevant to as many people as possible.

I put this in front of a developer while writing this piece, asking if he could ballpark just how many different combinations this sentence might produce. Probably over a billion, he told me, after a quick pause.

More like over ten billion.

Headphones back in. Completely non-plussed.

This semiotic unpredictability and idea of writing words with infinite possible form, this raises questions that go beyond UX Copywriting. It goes further, sharing a world in which machine translation, designers, developers and data scientists ask questions, develop and collaborate to find solutions that allow for the kind of dynamic, hectic environments that make up a site like Booking.com.

And for a copywriter, it gives you an entirely new kind of writing. It forces you to give up trying to control the end product, and adopt a new creative approach, writing which adapts to all the information floating around the site, a mirror for whomever might read it.

I did say it was magic. Forget similes and figurative frills, variables are the extra-special tool in a UX Copywriter’s belt.

We’re always on the hunt for new writing talent. Wanna join us? Apply here.