---
title: "Personalising with variables"
description: "Fill in each person's name, phone and result link automatically."
slug: "en/customs/delivery/personalising-with-variables"
url: "https://docs.custom.one/en/customs/delivery/personalising-with-variables/"
capability: "delivery"
published_at: "2026-10-21T09:50:17.369Z"
---
A **variable** is a placeholder that fills in with each person's own details when
the message is sent. Write `Hi {{contact.name}},` and Sarah receives `Hi Sarah,`.

They work in the subject line, anywhere in the body, and in the SMS.

## Inserting one

Click into the field you're writing and press **+**. The variable drops in as a
blue chip, and moves and deletes as one piece — backspace takes the whole thing,
not a letter of it.

What's on offer:

| Variable | Fills in with |
|---|---|
| **Name** | their first name |
| **Phone** | their phone number, if you collected one |
| **Custom name** | the name of this custom |
| **Results link** | the address of their own result |

## The results link

**Results link** is offered in the body of the **video delivery** and in the
**delivery SMS**, and not in the **instant reply** — at that point their result
doesn't exist, so a link to it would go nowhere. The subject line doesn't offer
it either.

In the video delivery it's usually already in place, on the button. You only
need to insert it by hand if you want the address in the text as well, or you've
written the email without a button.

The SMS starts with it already in its message. If you rewrite the text, keep it
in.

## Write so it still reads when empty

A variable with nothing behind it comes out as nothing at all — no placeholder,
no leftover brackets. Someone who never gave a first name turns `Hi
{{contact.name}},` into `Hi ,`.

It's worth a moment's thought on the lines that lean hardest on a variable. `Hi
{{contact.name}},` is fine to lose the odd name from; `Your plan for
{{contact.name}}` reads badly without one.

## Send yourself the real thing

Variables stay as chips while you're editing — the editor shows you the token
rather than a guess at what it will become. In the body of an email, **Custom
name** is the exception: it already shows your custom's name. To see a finished message, use **Send test**:
it puts the email in your own inbox with the layout, the images and the fonts
exactly as a recipient gets them.

A few things differ from a real send, all on purpose. The subject arrives
prefixed with `[Test]`; **Name** is filled with your own first name and
**Phone** with a sample number; the animated preview, if any, is your most
recent lead's; and the results link points at a placeholder rather than a real
result — there's no person behind a test, so there's nothing for it to open. Everything else is what will go out.

Do this once before you publish. It's the quickest way to catch an empty
variable, or a link you meant to place and didn't.

:::tip[Watch the length, not just the wording]
Names vary far more than you expect, and a test only ever shows yours. Check the
subject line would survive a much longer one — that's where a variable most
often breaks a design.
:::