> ## Documentation Index
> Fetch the complete documentation index at: https://help.liftify.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add and edit touchpoints

> Add email and text messages to a campaign, personalize them with merge fields, and send yourself a test before you launch.

A touchpoint is one message in a campaign — an email or a text. The **Touchpoints** step of the campaign builder is where you add them, write them, and check them.

The step shows your sequence as a flowchart. It begins with a **Start** flag, and a **New Touchpoint** button sits at every position in the sequence, so you can add a message at the beginning, at the end, or between two existing ones.

## Add a touchpoint

1. Click the **New Touchpoint** button at the position you want the message.
2. **Delivery Method** — choose **Email** or **SMS**.
3. **Send after...** — choose **Immediately**, or **Specific # of days** and enter a number between 1 and 365. The delay counts from the previous touchpoint, not from the start of the campaign, so a sequence of "Immediately", "3", "4" reaches the customer on day 0, day 3, and day 7.
4. **Ignore sending hours** — tick this only if the message must go out regardless of the sending days and time window on the **Settings** step. See [Sending days and times](/campaigns/sending-days-and-times).
5. Write the message (below).
6. Click **Save**. **Cancel** discards the touchpoint and closes the form.

## Write the message

**For an email**, fill in both fields:

* **Subject Line** — the placeholder reads *"Enter email subject..."*. A campaign cannot launch with an email touchpoint that has no subject.
* **Message** — a visual editor with the usual bold, italic, list, and link controls.

**For a text**, fill in **Message** only. The box shows *"Type your message..."*.

### Merge fields

Merge fields drop the customer's own details into the message when it sends, so one message reads personally to everyone who gets it. Both hint lines under the fields say the same thing: *"Add a merge field by typing `{{` or clicking the button"*.

Two ways to insert one:

* Type `{{` in the box. A list appears and filters as you keep typing.
* Click the merge field button (the one labelled **Insert merge tag**). The dropdown is headed **Insert Merge Tag** and has a **Search merge tags...** box.

Commonly used fields include `{{customer_first_name}}`, `{{location_name}}`, `{{location_phone_number}}`, `{{job_completed_date}}`, and `{{job_technician}}`.

<Note>
  The list of available fields is not identical everywhere. The email **Message** editor offers the linked versions — `{{landing_page_url}}`, `{{landing_page_cta_button}}`, and `{{customer_unsubscribe_link}}` — which come through as a clickable link or button. The **Subject Line** and the text **Message** box offer the plain-address versions instead: `{{landing_page_href}}`, `{{customer_unsubscribe_href}}`, and `{{survey_url_href}}`.
</Note>

### Writing an email in HTML

If you'd rather paste your own HTML than use the visual editor, click **Switch to Custom HTML editor** at the bottom of the form. It opens a wide editor with a live preview beside your code.

<Warning>
  Going back the other way loses your work. Liftify asks first: *"Switching to the visual editor will clear the custom HTML content of this touchpoint. Continue?"*
</Warning>

## Check the message before anyone gets it

Click **Preview** at the bottom of the touchpoint form. The window is titled **Email Preview** or **SMS Preview** and shows the message the way a customer sees it — a text appears in a phone frame, an email with its sender, subject, and body.

The bar at the top explains itself: *"Search for a location or contact to preview how merge tags will appear."*

* **Location** — type in **Search locations...** to pick one.
* **Contact** — type in **Search contacts...** to pick one.
* The circular arrow beside each box picks a different one at random (**Randomize location**, **Randomize contact**).

Change either one and the preview reloads with that location's and that customer's real data in place of the merge fields.

If the campaign uses your own custom fields, a **Preview values** panel appears on the left: *"Edit any field to change what appears in the preview."* Type into any field there to see how a different value would read.

<Info>
  If the location you picked has no contacts, a banner says *"This location has no customer contacts yet, so the preview uses sample customer data."* The preview still works; the names are made up.
</Info>

## Send yourself a test

**One message.** Open the preview and click **Send Test** (for an email) or **Send Test SMS** (for a text). Liftify confirms with the address or number it went to — for example *"Test email sent to [you@example.com](mailto:you@example.com)"*.

**The whole sequence.** Click **Test All** at the top right of the **Touchpoints** step. Its tooltip reads *"Send the whole sequence to yourself now."* You'll get a confirmation like *"Sent 3 test messages to ..."*.

Tests go to the email address and mobile number on your own Liftify profile, not to any customer.

## Edit, reorder, and delete

Saved touchpoints appear as cards showing the channel, the timing (**Send immediately**, **Send after 1 day**, **Send after 5 days**), and a **Sends any time** badge if **Ignore sending hours** is ticked.

* Click **Edit** to reopen the form.
* Click the card, or the chevron on the right (**Show content**), to expand it and read the message without opening the editor.
* Click the trash icon to delete it. Liftify asks *"Are you sure you want to delete this touchpoint?"* first.
* On the campaign's own page, the touchpoints are listed with a drag handle you can use to change their order.

A card with a red border and a line reading **Missing: subject line** or **Missing: content** is incomplete and will block the launch until you fix it.

## Troubleshooting

**"Unknown merge tag"** — for example `Unknown merge tag: {{custmer_first_name}}`. The field name is misspelled or doesn't exist. Delete it and insert the field from the picker instead of typing it out.

**"Unmatched merge tag brackets"** — you have a different number of opening `{{` and closing `}}` in the message. Usually a half-deleted merge field. Find it and remove the stray brackets.

**"Unclosed HTML tag"** — in custom HTML, a formatting tag was opened and never closed. The message names the tag.

**Send Test SMS is greyed out.** Your Liftify profile has no mobile number. The tooltip says so: *"Add a phone number in your profile settings to send test SMS."* Add one in your profile settings, then reopen the preview.

**Test All reports failures.** You'll get *"Some touchpoints could not be sent — ..."* with each problem touchpoint listed by its position and reason. The usual cause is a touchpoint with no content or no subject line. Fix those and test again.

**"This campaign has no touchpoints to test yet."** You clicked **Test All** on a campaign with an empty sequence. Add a touchpoint first.

**The campaign won't launch.** Every touchpoint needs message content, and every email touchpoint also needs a subject line. Look for cards with a red border on the **Touchpoints** step.
