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

# Email campaigns: create, edit, test, schedule and send

> Create an email campaign in Campaigns → Emails: choose the audience, write the subject, edit the email, send a test, schedule or send it, see what it costs, read the results and restart a paused campaign.

An email campaign is a one-time email that you send to lists and segments of your contacts. You manage email campaigns in [Campaigns → Emails](https://ai.textyess.com/campaigns/email). Email is available for stores on Shopify. If you do not see **Emails** under **Campaigns**, email is not turned on for your account. Before your first send, set up email sending. See [Email setup](/email/email-setup). For templates and brand styles, see [Email templates and brand](/email/email-templates-and-brand).

## Create an email campaign

To create an email campaign, open [Campaigns → Emails](https://ai.textyess.com/campaigns/email).

1. Click **Create**. If you have no email campaigns yet, click **Create email campaign**.
2. In **New email campaign**, click **Start from scratch** or **Pick a template**.
3. If you clicked **Pick a template**, click the template that you want.

TextYess creates a draft with the name **Untitled email campaign** and opens its page. On this page:

* Set the subject and the sender in the **Subject and sender** card.
* Click **Edit email** to design the content in the email editor.
* Click **Review & send** to choose the audience, send a test, and send or schedule the campaign.

Your changes save automatically. You can create a campaign before email sending is set up. TextYess asks you to set up sending on the **Send** step.

## Rename an email campaign

You rename an email campaign in the email editor. The campaign list and the campaign page do not have a rename field.

1. In [Campaigns → Emails](https://ai.textyess.com/campaigns/email), open the campaign.
2. Click **Edit email**.
3. In the top bar, click the campaign name after **Campaigns /**.
4. Type the new name and press Enter.

The name saves automatically. You can rename a campaign in **Draft**, **Scheduled** or **Auto-paused** status. After the campaign starts to send, you cannot rename it.

The campaign name is for your team. When **UTM tracking** is on, the name is also the utm\_campaign value in the links of the email.

## Duplicate or delete an email campaign

In [Campaigns → Emails](https://ai.textyess.com/campaigns/email), open the actions menu (three dots) at the end of a campaign row:

* **View details** opens the campaign page.
* **Edit** opens the email editor. It shows for **Draft**, **Scheduled** and **Auto-paused** campaigns.
* **Duplicate** makes a new draft with the name "Copy of" plus the old name. The copy has the same email, subject, sender, audience, UTM setting and **Not engaging** setting.
* **Unschedule** shows for a **Scheduled** campaign. It moves the campaign back to **Draft**.
* **Delete** removes the campaign. You can delete only a campaign in **Draft** status. For other statuses, the delete fails.

To send a campaign that already went out to a new audience, duplicate it and select the new audience.

## Choose the lists and segments that get an email campaign

You choose the audience on the review screen of the campaign, not in the email editor.

1. In [Campaigns → Emails](https://ai.textyess.com/campaigns/email), open the campaign and click **Review & send**.
2. On step 1, **Settings**, select one or more lists or segments in **Include segments**.
3. To leave some people out, select lists or segments in **Exclude segments**.
4. Click **Continue to Schedule**.

The line under **Include segments** shows how many contacts get the email. This number counts only contacts with an email address and email opt-in, after the safety exclusions. The number next to each list counts only its contacts with an email address and email opt-in. A segment shows in the selector only when it is ready. A **Stale** badge means that the list did not refresh in more than a day. You create lists and segments in [Contacts → Lists & Segments](https://ai.textyess.com/contact-groups).

## Who does not get an email campaign

When an email campaign sends, TextYess leaves out these contacts:

* Contacts with no email address.
* Contacts without email opt-in. In a list, the **Email opt-in** column shows who has it.
* Addresses on your suppression list: unsubscribed, bounced, marked as spam, or suppressed by an automation.
* Contacts that got 1 email in the last 24 hours, or 3 emails in the last 7 days. This is the **Frequency limit**.
* A second contact with the same email address. Each address gets the campaign once.
* Contacts in **Exclude segments**.
* **Not engaging** contacts, when you turn on that exclusion.

TextYess also skips addresses that cannot receive email, for example a typo such as gmail.con. It does this when you send from a TextYess address, and while your own domain warms up. This is why an email audience is often smaller than the list or segment.

## Leave out contacts who do not open your emails

In the campaign's **Review & send**, step **Settings**, **Safety exclusions** has a **Not engaging** switch. Turn it on to leave out people who keep getting your emails but did not open or click any of them recently. Then set two values:

* **Days without an open or click**: from 30 to 365. The default is 90.
* **Minimum emails received**: from 1 to 20. The default is 5.

Only emails sent from TextYess count. A contact who got fewer emails than the minimum still gets the campaign. The line **N removed — not engaging** on the **Send** step shows how many people the exclusion leaves out.

If TextYess cannot check engagement, it does not send without the exclusion. When you confirm the send, an error shows, and you can try again later. If the check fails when a scheduled campaign starts, TextYess tries again a few times. Then it marks the campaign **Failed**. Duplicate the campaign and send the copy, or turn off **Not engaging** in the copy.

## Set the subject and preview text of an email campaign

Open the campaign in [Campaigns → Emails](https://ai.textyess.com/campaigns/email). In the **Subject and sender** card:

1. Type the **Subject**. The counter above the field shows the number of characters.
2. Type the **Preview text**. Inbox apps show this text next to or under the subject.

Both fields save automatically. You can change them until the campaign starts to send.

To add the contact's first name, type `{{first_name}}` in the subject or the preview text. To show other text when a contact has no first name, add it after a bar, for example `{{first_name|there}}`. You can also use `{{last_name}}`, `{{email}}` and `{{phone}}`.

The checklist on the **Send** step warns you about these problems:

* A subject with less than 10 or more than 60 characters.
* A subject in mostly capital letters.
* Empty preview text.

## Set the sender name, sender email and reply-to of an email campaign

Open the campaign in [Campaigns → Emails](https://ai.textyess.com/campaigns/email). In the **Subject and sender** card:

1. In **From Name**, type the name that people see as the sender, for example your store name.
2. In **From Email**, type only the part before the @. TextYess adds your sending domain after it.
3. In **Reply-To**, type the address that gets the replies.

If **Reply-To** is empty, replies go to the sender address. When you send from a TextYess address, replies to the sender address do not reach you. In this case, if your store has a support email, TextYess fills **Reply-To** with it. If you want replies in another inbox, set **Reply-To** yourself.

If **From Email** is on a domain that is not your verified domain, a warning shows. Click the **Use** button under the warning to move the address to your verified domain. TextYess cannot send from another domain. You must have a **From Name** and a **From Email** to send.

## Edit an email campaign in the email editor

To edit the content, open the campaign in [Campaigns → Emails](https://ai.textyess.com/campaigns/email) and click **Edit email**. The sidebar of the email editor has three tabs:

* **Blocks**: drag a block onto the email, or click it to add it at the end.
* **Universal**: reuse blocks that you saved for all your emails.
* **Styles**: change the fonts, colors, buttons and width of the whole email.

Click a block to change its settings. Drag a block by its handle to move it. To duplicate, split into columns or delete a block, use the block toolbar or right-click the block. Press Ctrl+Z (Cmd+Z on Mac) to undo, and Ctrl+Shift+Z to redo. The editor saves automatically and shows **Saving...** while it saves. The email editor needs a desktop browser. In a narrow window, it shows **Desktop Required**.

## Blocks you can add in the email editor

The **Blocks** tab of the email editor groups the blocks in three categories. Type in **Search blocks...** to find one.

* **Content**: **Text**, **Heading**, **Image** and **Custom HTML**.
* **Commerce**: **Button**, **Products**, **Collection** and **Cart / viewed products**.
* **Layout**: **Section**, **Columns**, **Divider**, **Spacer**, **Footer** and **Social links**.

A **Section** is a container with its own background and padding. **Columns** puts blocks side by side. On mobile, columns stack by default. To change this, select **Side by side** under **Mobile** in the block settings. In **Custom HTML**, paste email-safe HTML. TextYess removes scripts and unsafe tags. **Social links** shows icons for your social profiles. It starts with the links from your email brand.

## Add images, GIFs and links to an email

In the email editor, add an **Image** block. Then click it, or drag an image file onto it. You can upload JPEG, PNG, GIF and WebP images up to 5 MB. Other formats, such as HEIC, change to JPEG when you upload them. Animated GIFs stay animated.

With the image selected, you can crop it, resize it, replace it or remove it. You cannot crop a GIF. In the image settings, type the **Alt text**. Inbox apps show it when they block images. To make the image a link, type the address in **URL**, under **Link**.

To add a link in text, select the words and click **Link** in the text toolbar. To add a call to action, add a **Button** block and set its text and URL. You can add more than one button. There is no video block. To show a video, add an image and link it to the video page.

## Add products to an email

In the email editor, the **Commerce** blocks show products from your Shopify store:

* **Products**: a grid of products that you pick by hand. Select the block and click **Add products…**. To update prices and images, click **Refresh product data**.
* **Collection**: products from a Shopify collection. Pick **Recently published**, **Best sellers** or **Manual** in **Display**, and set **Max products**. TextYess gets fresh products from the collection when the email sends.
* **Cart / viewed products**: the products from an automation trigger, such as the cart. Use it in automation emails, not in campaigns.

Select the block and use the side panel to choose what to show: **Image**, **Title**, **Variant**, **Price**, **Quantity**, **Description** and **Button**. You can also set the columns, the image position and the image crop. In a test email, the **Cart / viewed products** block shows example products.

## Add the first name and other details to an email

To add a personal detail in a **Text** block of the email editor:

1. Type `{{` in the text.
2. Select the detail, for example **First name**.
3. Type the fallback text. TextYess shows it when the contact has no value, for example "there".

The detail shows as a chip in the text. To change the fallback, click the chip. In a campaign, only **First name**, **Last name**, **Email**, **Phone**, **Discount code** and **Unsubscribe link** get a value. Do not use the order details or the tracking link in a campaign.

**Unsubscribe link** adds a working **Unsubscribe** link. With this link in your email, TextYess does not add its own footer.

## Add a discount code to an email campaign

You attach the discount in the campaign page, then you show the code in the email.

1. Open the campaign in [Campaigns → Emails](https://ai.textyess.com/campaigns/email).
2. In **Subject and sender**, open **Discount** and select a discount.
3. Click **Edit email**. In a **Text** block, type `{{` and select **Discount code**.

A discount from **TextYess Discounts** gives a unique code to each contact. A discount from **Shopify Discounts** gives the same code to every contact. To remove the discount, select it again.

If the discount is missing, paused, archived, not active, or low on codes, a warning shows under **Discount** and on the **Send** step. A test email shows the code PREVIEW1234. To create discounts, see [Discount codes](/growth-tools/discount-codes).

## Change the fonts, colors and buttons of an email

In the email editor, open the **Styles** tab with no block selected. These settings change the whole email:

* **Background**: the colors of the **Page** and the **Content** area.
* **Layout**: the **Width**, **Padding** and **Align** of the email.
* **Typography** and **Headings**: the **Font**, the text size, the line height and the **H1 size**, **H2 size** and **H3 size**.
* **Colors**: the colors of the text, the headings and the links.
* **Buttons**: the button background, the text color and the corner radius.

To change one block only, select the block and use its settings. In the font list, **Universal — works everywhere** fonts show the same in all inbox apps. Fonts from **Google Fonts — most clients** fall back to a system font on Gmail and Outlook. A new email starts with your **Brand styles**. See [Email templates and brand](/email/email-templates-and-brand).

## Start an email campaign from a template

To start from a saved template:

1. In [Campaigns → Emails](https://ai.textyess.com/campaigns/email), click **Create**.
2. Click **Pick a template**.
3. In **Choose a template**, click the template.

TextYess creates a draft with a copy of the template's content. Changes to the campaign do not change the template. Later changes to the template do not change the campaign. If the list is empty, create a template in [Settings → Email → Email Templates](https://ai.textyess.com/organization-settings/email-templates) first. To see your templates from the Emails page, click **View templates**.

## Save an email campaign as a template

To reuse an email that you designed:

1. Open the campaign in [Campaigns → Emails](https://ai.textyess.com/campaigns/email) and click **Edit email**.
2. In the top bar, open the **More actions** menu (three dots).
3. Click **Save as template**.
4. Type a **Template name** and click **Save**.

The message **Saved to Email Templates** shows. For a campaign that already sent, **Save as template** is a button in the top bar. The template is a copy. Changes to the campaign do not change it. You find it in [Settings → Email → Email Templates](https://ai.textyess.com/organization-settings/email-templates), and you can use it in other campaigns and automations.

## Import an email from Klaviyo or Brevo into a campaign

To use an email that you made in Klaviyo or Brevo:

1. Open the campaign and click **Edit email**.
2. Open the **More actions** menu (three dots) and click **Import HTML**.
3. If the email already has content, click **Discard and import**. The import replaces all blocks.
4. Select the **Source**: **Klaviyo** or **Brevo**.
5. Paste the HTML, or click **Choose file…** to pick an .html or .rtf file.
6. Click **Import**.

TextYess changes the HTML into blocks that you can edit. If the subject or the preview text is empty, TextYess fills it from the import. If something did not import, a message shows the number of issues. Click **View details** to see the images that did not download and the variables that TextYess did not map.

## Send a test email

To see the email in your own inbox before you send it:

1. Open the campaign and click **Edit email**.
2. Click **Send Test** in the top bar.
3. Type the **Email address**. Optionally, type a **First name** for the test.
4. Click **Send test**.

You can also send a test on step 1 of **Review & send**, in **Send a test**. To send a test, email sending must be set up first. A test email does not use your **Email sends**. A test to an address on your suppression list fails. In a test, a discount code shows as PREVIEW1234. If the email has no subject, the test subject is "(Test)" plus the campaign name.

## Check an email campaign before you send it

On step 3, **Send**, of **Review & send**, the checklist shows whether the campaign is ready. The send button stays off until you fix these items:

* Add a subject line.
* Add a sender address (**From Email**) and a sender name (**From Name**).
* Select at least one audience segment.
* If email sending is not set up, set it up.

The checklist also shows the **Reply-to address**, the **Recipients**, the **Safety exclusions** and the **Physical address**. The **Deliverability score** gives a mark out of 10. It checks six items:

* The subject length and the capital letters in the subject.
* The preview text.
* The text in the email. An email with only images fails this check.
* The unsubscribe link and the image alt text.

These checks are advice. They do not stop the send.

## Send an email campaign now

To send an email campaign now:

1. Open the campaign in [Campaigns → Emails](https://ai.textyess.com/campaigns/email) and click **Review & send**.
2. On step 1, **Settings**, select the audience and click **Continue to Schedule**.
3. On step 2, **Schedule**, select **Send now** and click **Continue to Send**.
4. On step 3, **Send**, click **Send to N contacts**.

The campaign sends 30 seconds after you confirm. Until then, you can click **Undo**. The campaign then goes back to **Draft**. Closing the window does not stop the campaign. After the campaign starts to send, you cannot pause it from the dashboard.

## Schedule an email campaign

To send an email campaign later:

1. Open the campaign and click **Review & send**.
2. On step 1, **Settings**, select the audience and click **Continue to Schedule**.
3. On step 2, **Schedule**, select **Schedule for later** and pick the date and time. The time is in the time zone of your browser.
4. Click **Continue to Send**, then click **Schedule for N contacts**.

The time must be at least 5 minutes from now. After you confirm, you have a few seconds to click **Undo**.

To change the time or the content, unschedule the campaign first. Open it, click **Review & send**, go to the **Send** step and click **Unschedule**. You can also click **Unschedule** in the actions menu of the campaign list. The campaign goes back to **Draft**. Make your changes, then schedule it again. TextYess checks the campaign again when it starts to send.

## What an email campaign costs and what happens past your limit

Each email that TextYess sends uses one **Email sends** credit from your plan. Test emails do not use credits. When an email has a hard bounce, TextYess gives the credit back. You see your balance in [Settings → Plan & usage → Usage](https://ai.textyess.com/organization-settings/replies), in the **Email sends** row. Your plan's email sends renew at the start of each monthly or yearly plan period.

If a campaign has more contacts than your remaining email sends, TextYess sends to as many as your balance allows. It does not send to the others and does not charge for them. On the campaign page, **Held for you** shows these contacts with the reason **Out of message credits**. If all contacts are held, the campaign shows **Failed**.

Some stores start with 1,000 free emails. To get more email sends, click **Book a call**. For prices, see the [Plan](https://ai.textyess.com/organization-settings/plan) page.

## Email size, weight and Gmail clipping

TextYess does not show the size of an email in KB. It does not block a large email. TextYess uploads the images that you add and links them in the email. The images do not add to the size of the email itself.

Gmail cuts an email when its code is larger than about 102 KB. Long emails and large **Custom HTML** blocks make the code larger. An email that is only images can go to spam more often. The **Text content** check on the **Send** step warns you about this. To improve inbox placement, send from your own domain. See [Email setup](/email/email-setup).

## Keep your email campaigns out of spam

These settings help your email campaigns reach the inbox:

* Send from your own verified domain. TextYess calls it the strongest setup for inbox placement. Keep its DNS records valid.
* Let warm-up run. Send steady volumes within your daily limit.
* Fix the items of the **Deliverability score** on the **Send** step: subject length, capital letters, preview text, live text and image alt text.
* Turn on **Not engaging** to leave out people who never open your emails.
* Keep bounces and spam complaints low. TextYess pauses a campaign above 5% bounces or 0.3% complaints.

Every email has the unsubscribe link that Google and Yahoo require. TextYess adds it for you. To set up your domain, see [Email setup](/email/email-setup).

## Read the results of an email campaign

Open the campaign in [Campaigns → Emails](https://ai.textyess.com/campaigns/email). After the campaign starts to send, the page shows:

* **Sent**, **Delivered**, **Open rate**, **Click rate**, **Bounce rate** and **Unsubscribe rate**. The open rate and the click rate count people, not repeat opens, out of the delivered emails.
* **Revenue**, **Orders** and **Revenue per recipient**.
* **Engagement**: opens, clicks and unsubscribes per hour or per day, and the **Top clicked links**. This history is not available for campaigns older than 90 days.
* **Audience**: the lists and segments, and how many people the safety exclusions removed.
* **Bounce breakdown**: hard and soft bounces, and the domains that failed most.

To compare all your campaigns, open [Analytics → Performance](https://ai.textyess.com/analytics). For help with that page, see [Performance](/analytics).

## How orders and revenue are counted for an email campaign

The **Revenue**, **Orders** and **Revenue per recipient** of an email campaign count the orders that TextYess gives to that email. An order goes to an email when two things are true:

* The buyer used the same email address as the contact.
* The buyer opened or clicked a TextYess email in the 7 days before the order.

A delivered email that nobody opened or clicked gets no orders. If the buyer also had a more recent WhatsApp message or onsite chat, that channel gets the order. To compare channels, see [Performance](/analytics).

## Why an email campaign is still Sending

An email campaign can show **Sending** for hours or days. This is normal while your sending domain or TextYess address warms up.

During warm-up, you can send only a limited number of emails each day. When the campaign has more contacts than the daily limit, TextYess sends to the limit and keeps the others for the next day. The daily limit resets at midnight, Italy time. On the list page, a chip shows the warm-up day and today's limit. On the **Send** step, a line shows how many days the campaign takes.

While warming up, TextYess also sends in groups of 100 emails, about 3 minutes apart. On your own domain, you also see the limit in [Settings → Email → Email settings](https://ai.textyess.com/organization-settings/email-settings). To learn how the limit grows, see [Email setup](/email/email-setup).

## Why an email campaign is auto-paused

TextYess pauses an email campaign by itself to protect your sender reputation. The campaign shows **Auto-paused** and a red box with the reason. TextYess auto-pauses a campaign when:

* More than 5% of the delivered and bounced emails bounce, after at least 50 results.
* More than 0.3% of the people mark the email as spam.
* In a send of 200 or more emails, TextYess first sends to a random group of 50. If more than 10% of them bounce, or more than 3% with at least 2 bounces while warming up, the rest does not go out. If almost no results come back in about 5 minutes, it also pauses.
* Another campaign on the same domain paused for bounces or complaints in the last 24 hours. The reason starts with "Held:".
* The sending domain is on hold, or there is no active sending domain.

To continue, see "Restart an auto-paused email campaign".

## Restart an auto-paused email campaign

To restart an email campaign that shows **Auto-paused**:

1. Open the campaign in [Campaigns → Emails](https://ai.textyess.com/campaigns/email).
2. Optionally, click **Download bounce list** in the red box to see who bounced.
3. To remove bad addresses first, click **Review & send** and change the audience.
4. Click **Resume sending**, then click **Resume sending** in the dialog.

The restart sends only to the contacts that did not get the email yet. Nobody gets it twice. Contacts that bounced are on your suppression list, so TextYess skips them. The numbers on the campaign page start again from zero and show the new run only. If every contact already got the email, the campaign shows **Sent**. Bounces still count. If they go above the limit again, the campaign auto-pauses again.

## Why an email campaign is held after another campaign bounced

An email campaign can auto-pause at the start with a reason that starts with "Held:". TextYess holds a new campaign when:

* Another campaign that sent from the same domain auto-paused for bounces or complaints in the last 24 hours.
* More than 3% of the emails from your domain bounced in the last 24 hours while it warms up, or more than 5% after warm-up. This needs at least 100 emails.

The reason tells you when the hold ends, in UTC time. You cannot turn off the hold. A hold from another campaign also ends when that campaign is no longer auto-paused. Before you resume, remove invalid and inactive addresses from the audience. After the time in the reason, click **Resume sending**. Automations are not held.

## Why an email campaign failed

A campaign with **Failed** status did not send to its audience. Open it in [Campaigns → Emails](https://ai.textyess.com/campaigns/email). If a red box **Why this campaign failed** shows, it gives the reason and what to do. For example, TextYess was not able to check the **Not engaging** exclusion. To send it, duplicate the campaign, fix the reason and send the copy.

A campaign also shows **Failed** when every contact was held, for example because no **Email sends** credits were left.

If a scheduled campaign still shows **Scheduled** after its time, it did not start. Open the campaign, click **Review & send** and go to the **Send** step. Click **Unschedule**, fix the items in the checklist, then schedule it again.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.