# Welcome

The complete eMarketeer support site — how-to guides, technical references, integration docs, and release notes.

<button type="button" class="button primary" data-action="ask" data-icon="gitbook-assistant">Ask a question…</button>

<button type="button" class="button secondary" data-action="ask" data-query="Why did my email bounce?" data-icon="envelope">Why did my email bounce?</button><button type="button" class="button secondary" data-action="ask" data-query="How do I track website visits?" data-icon="globe">How do I track website visits?</button><button type="button" class="button secondary" data-action="ask" data-query="How do I create automated flows?" data-icon="chart-diagram">How do I create automated flows?</button><button type="button" class="button secondary" data-action="ask" data-query="How do I import contacts?" data-icon="address-book">How do I import contacts?</button>

{% hint style="success" icon="circle-plus" %}
The latest product updates are in the changelog — new features, improvements, and fixes with every release.

<a href="/spaces/R2AVUzAq8nYYHcGZOcNU" class="button secondary">View product updates</a>
{% endhint %}

## Getting started

New to eMarketeer? These guides cover the basics — your first email, first campaign, and initial account setup.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><i class="fa-bolt">:bolt:</i></p><h3>Campaign basics</h3></td><td>Your first steps — creating emails, forms, campaigns, and managing contacts.</td><td><a href="/pages/slqQKyyVB8FphIkq4Dbn">/pages/slqQKyyVB8FphIkq4Dbn</a></td></tr><tr><td><p><i class="fa-gear">:gear:</i></p><h3>Account setup</h3></td><td>Configure your account, authenticate your domain, and set up user access.</td><td><a href="/pages/jvyDM8x9GhkKPJS4146N">/pages/jvyDM8x9GhkKPJS4146N</a></td></tr></tbody></table>

## Guides

In-depth guides for every feature — from building emails to automating contact workflows.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><i class="fa-bullhorn">:bullhorn:</i></p><h3>Campaign guides</h3></td><td>Guides for email content, forms, campaigns, and webpages.</td><td><a href="/pages/zoEKbHh4FV7nda3Mt2LA">/pages/zoEKbHh4FV7nda3Mt2LA</a></td></tr><tr><td><p><i class="fa-arrow-progress">:arrow-progress:</i></p><h3>Journeys</h3></td><td>Build automated sequences that nurture contacts and update your CRM.</td><td><a href="/pages/sJrAQxTMlvTSjTOTgt3Q">/pages/sJrAQxTMlvTSjTOTgt3Q</a></td></tr><tr><td><p><i class="fa-address-book">:address-book:</i></p><h3>Contacts</h3></td><td>Import, filter, tag, and manage contacts and lists.</td><td><a href="/pages/jgcxKnxOkDK59cbxaa4V">/pages/jgcxKnxOkDK59cbxaa4V</a></td></tr><tr><td><p><i class="fa-bullseye-arrow">:bullseye-arrow:</i></p><h3>Lead management</h3></td><td>Set up lead scoring, the Lead Board, and sales user workflows.</td><td><a href="/pages/dPc1TE8SUnE8QPleXtFk">/pages/dPc1TE8SUnE8QPleXtFk</a></td></tr><tr><td><p><i class="fa-gear">:gear:</i></p><h3>Account settings</h3></td><td>Manage users, domains, subscriptions, and account preferences.</td><td><a href="/pages/9SX6ETztjuVTElbnJQUm">/pages/9SX6ETztjuVTElbnJQUm</a></td></tr></tbody></table>

## References

Technical documentation for the API, developer tools, and platform mechanics.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><i class="fa-brackets-curly">:brackets-curly:</i></p><h3>API</h3></td><td>REST API docs for consent, subscriptions, and custom signals.</td><td><a href="/pages/EmeblnA9KOaEl2mIDljb">/pages/EmeblnA9KOaEl2mIDljb</a></td></tr><tr><td><p><i class="fa-rectangle-terminal">:rectangle-terminal:</i></p><h3>Developer</h3></td><td>Advanced tools: DCL template language, barcodes, and mobile app guides.</td><td><a href="/pages/wTSVQAo2TozCMt25FsvG">/pages/wTSVQAo2TozCMt25FsvG</a></td></tr><tr><td><p><i class="fa-server">:server:</i></p><h3>Platform</h3></td><td>Email sending rules, web tracking, user accounts, and platform mechanics.</td><td><a href="/pages/0LdBpg9TFlkW0XkwnrYB">/pages/0LdBpg9TFlkW0XkwnrYB</a></td></tr><tr><td><p><i class="fa-bookmark">:bookmark:</i></p><h3>Glossary</h3></td><td>Definitions for terms used across the eMarketeer platform and documentation.</td><td><a href="/pages/S1N0jebyNkM4b3oZVSsz">/pages/S1N0jebyNkM4b3oZVSsz</a></td></tr></tbody></table>

## Integrations

Connect eMarketeer to your CRM and other tools.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><i class="fa-link">:link:</i></p><h3>SuperOffice</h3></td><td>Connect eMarketeer to SuperOffice CRM to sync leads and consent.</td><td><a href="/pages/peWXTSyEVXxx9WneJcHG">/pages/peWXTSyEVXxx9WneJcHG</a></td></tr><tr><td><p><i class="fa-link">:link:</i></p><h3>Microsoft Dynamics 365</h3></td><td>Sync contacts, subscriptions, and legal basis with Dynamics 365 Sales.</td><td><a href="/pages/hTNkgXITmK2SI9GBYQLB">/pages/hTNkgXITmK2SI9GBYQLB</a></td></tr><tr><td><p><i class="fa-link">:link:</i></p><h3>Other integrations</h3></td><td>Connect Facebook and LinkedIn lead forms to your eMarketeer account.</td><td><a href="/pages/BdxHePTpCCdVIZvGJhmt">/pages/BdxHePTpCCdVIZvGJhmt</a></td></tr></tbody></table>


# Campaign basics

Your first steps with eMarketeer — creating emails, forms, and campaigns, and managing contacts.

{% columns %}
{% column %}
{% content-ref url="/pages/22cEs7HfBJub1vAYrN6Q" %}
[How to create a new campaign](/getting-started/campaign-basics/create-new-campaign)
{% endcontent-ref %}

{% content-ref url="/pages/EJXPjUev6saRmPky14DG" %}
[Creating your first email](/getting-started/campaign-basics/basics-creating-email)
{% endcontent-ref %}

{% content-ref url="/pages/gsuud0xUiDiBwk3S5qhs" %}
[How to send an email](/getting-started/campaign-basics/basics-send-email)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/P3LaBak1cJlk5Sr85PWC" %}
[Creating your first form](/getting-started/campaign-basics/basics-creating-form-new)
{% endcontent-ref %}

{% content-ref url="/pages/pgXT9yOMHZcbWEsaQoX7" %}
[Creating your first SMS](/getting-started/campaign-basics/basics-creating-sms)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# How to create a new campaign

How to create a campaign in eMarketeer to act as the container for your emails, forms, and webpages.

Create a campaign as the container for the emails, forms, and webpages you want to send and publish.

A campaign groups related components, so creating one is usually the first step for a new piece of work in eMarketeer.

<div align="left" data-with-frame="true"><img src="/files/PjCicuSVlWKyiUGu62yq" alt="Creating a campaign"></div>

{% stepper %}
{% step %}

### Open the Campaigns page from the navigation bar

If you want the new campaign to live inside an existing folder, navigate to that folder first.
{% endstep %}

{% step %}

### Click \[Create Campaign] at the top-left

{% endstep %}

{% step %}

### Give the campaign a unique name

The name identifies the campaign inside eMarketeer and is never shown to your contacts. You can also add an optional description, which is also internal-only.

{% hint style="info" %}
**Note:** The Campaign name is also used by the [web tracker](/references/references/web-tracker) to identify which campaign email traffic to your website originates from.
{% endhint %}
{% endstep %}

{% step %}

### Click \[Create Campaign] at the bottom of the page

This creates the campaign and opens its empty Components page.
{% endstep %}
{% endstepper %}

## What to do next

Add your first component to the campaign. This might be an email invitation, a registration form, or a landing page.

<div align="left" data-with-frame="true"><img src="/files/5G0JVAUXlpkLzDFiWqAJ" alt="Add new component buttons"></div>

The following articles cover each component type from start to finish:

* [Creating your first email](/getting-started/campaign-basics/basics-creating-email)
* [Creating your first form](/getting-started/campaign-basics/basics-creating-form-new)
* [Creating your first SMS](/getting-started/campaign-basics/basics-creating-sms)
* [Creating your first webpage](/guides/guides/webpage/creating-first-webpage)

{% hint style="info" %}
Mobile apps are essentially webpage components but with a specialized template.
{% endhint %}


# Creating your first email

This guide walks you through creating an email in eMarketeer, from setting it up to editing content blocks and adding the final touches.

{% hint style="warning" %}
To create a new email it is required that you create a campaign first. If you don't have a campaign ready, see [How to create a new campaign](/getting-started/campaign-basics/create-new-campaign).
{% endhint %}

{% hint style="info" %}
The example builds an event invitation email, but the process is the same for any email type. By the end, you will have an email ready to send.
{% endhint %}

{% stepper %}
{% step %}

### Add the email from the campaign page

From the campaign page, click **Add Email**.

<div align="left" data-with-frame="true"><img src="/files/GG6cdybxvHeUfp6WIyFh" alt="Add Email button on the campaign page"></div>
{% endstep %}

{% step %}

### Fill in settings, choose a template, create the email

<div align="left" data-with-frame="true"><img src="/files/b1NfHvl1c4wsiJ0yGHr0" alt="Email settings and template selection dialog"></div>

**Settings**

* **Name your email:** Give the email a unique name so you can find it later. Describe the email's purpose in the context of the campaign — for example, "Invitation" for an invitation email. Only you see this name; it is not shown to your contacts.
* **Subject:** The subject line recipients see in their email clients.
* **From Name:** The sender name shown in recipients' email clients.
* **From Address:** This has two parts that make up the sending address.
  1. The part before the `@` can be almost anything. If you are not sure, `noreply` works for most cases, though a real inbox that can receive replies is preferred.
  2. The part after the `@` is your email domain. You must add your own domain before you can send. See [this article](broken://pages/IC60KxnBA16qsuFPFCKb) for how.
* **Reply-to Address (optional):** An address that receives any replies, useful if the From Address cannot receive email. Rarely used; usually safe to skip.
* **Subscription Category (optional):** If your account uses subscription lists, you can categorize this email here. Rarely used; usually safe to skip.

**Template**

Pick a template from one of the tabs as a starting point for the design. This guide uses **Hero Event** from the **Events** tab. Custom templates saved on your account appear under **My Templates**.

**Create email component**

Once settings and template are set, click **Create Email** to create the component.
{% endstep %}

{% step %}

### The email editor

After you click **Create Email**, the editor opens with the new email. The left-side menu lets you add content blocks, access tools, and update the settings from the previous step. The rest of the page shows the email content, imported from the template you chose.

The content is made up of content blocks, which you edit individually in the following steps.

<div align="left" data-with-frame="true"><img src="/files/zGsS7Mu7sKt5sboNQkXY" alt="Email editor with content blocks and left-side menu"></div>
{% endstep %}

{% step %}

### Edit a content block

Each content block is made up of several parts you can update. Click the block's edit button to open its settings.

<div align="left" data-with-frame="true"><img src="/files/uMlfsKGXWnv8Z1YbzAu6" alt="Edit button on a content block"></div>

A settings menu opens on the right with two tabs: **Content** and **Styles**. Content is where you change the block's settings and content. Styles is where you change colors and fonts.

On the Content tab, the first section controls how the block displays — leave those defaults for now. The second section is what appears in the block: images, headlines, text paragraphs, and buttons.
{% endstep %}

{% step %}

### Change a block's headline

To change a headline or text paragraph, click the title bar for that part and edit the text in the text box. If you leave the text box empty, that part of the block is hidden.

In the image below, we are not using the text paragraph and two of the link buttons, so they do not appear in the email.

Click **Save** after each change to save your work.

<div align="left" data-with-frame="true"><img src="/files/pgAPWzL4qQKlMve64oBf" alt="Editing a block&#x27;s headline text in the content menu"></div>
{% endstep %}

{% step %}

### Upload an image

To upload your own image, open the content block for editing, go to the Image section in the right-side menu, and click **Choose Image**.

<div align="left" data-with-frame="true"><img src="/files/23xv07Ybg2kcMIfeoSee" alt="Choose Image button in the image section"></div>

The Choose Image button

To upload and use an image:

1. Click **Upload File**.
2. Click **Choose files** and select the image on your computer.
3. Upload the file to your eMarketeer account.
4. Click the file in the browser window to select it.
5. Click **Use Selected** to add it to the content block.

<div align="left" data-with-frame="true"><img src="/files/eVlCxa2IpWoAbi1rPtEh" alt="Upload File, Choose files, and Use Selected steps"></div>

If the image does not match the recommended dimensions for the block, an option to auto-scale it appears. Click the link in the notice to accept.

<div align="left" data-with-frame="true"><img src="/files/ShpP0nVGC8PDna44KoA4" alt="Auto Scale notice for resizing the uploaded image"></div>
{% endstep %}

{% step %}

### Add a button with a link

Use buttons to link to a webpage, file, or another eMarketeer component. For a web link, type the URL in the Link settings (include the `http://` or `https://` protocol) and write a button caption. To link to another eMarketeer component, follow these steps:

1. Open the "Link 1" content settings and click **Browse**.
2. Click **eMarketeer Form**.
3. Pick the campaign that contains your form in the first dropdown, then the form in the second dropdown.
4. Click **Select**, then **Apply**, then **Save** to add the link and save the block.

<div align="left" data-with-frame="true"><img src="/files/072fTedqN9rFwSFDbza0" alt="Setting a button link via Browse to an eMarketeer form"></div>
{% endstep %}

{% step %}

### Add a new content block

To add a new content block, click **Add Content Block** in the left-side menu. In the Add Content menu on the right, click **Add Block** next to the type you want.

If the button is grey, first click an existing block to tell the editor where the new one should go.

<div align="left" data-with-frame="true"><img src="/files/JKL1oZYk21O5HOK1wn80" alt="Add Content Block menu with block type options"></div>
{% endstep %}

{% step %}

### Reposition a content block

To move a block, click and hold the reposition icon on the left side of the block's context bar, then drag it to the new position.

<div align="left" data-with-frame="true"><img src="/files/7aP3kGb9JOKkU4maTj14" alt="Reposition icon used to drag a content block"></div>
{% endstep %}

{% step %}

### Delete a content block

To remove a block from the template, click the delete button on its context bar.

<div align="left" data-with-frame="true"><img src="/files/r4j0rsf58UQpkQWkGitI" alt="Delete button on a content block&#x27;s context bar"></div>
{% endstep %}

{% step %}

### Use a block with a calendar link

Some content blocks support a calendar link feature, which is useful for events. When a recipient clicks the link, eMarketeer generates a calendar file that adds the event to their calendar using the settings you chose.

You configure the calendar event in the block's content menu — date, time, title, location, and so on.

Keep the **Description** field to plain text and limit it to two or three short paragraphs.

<div align="left" data-with-frame="true"><img src="/files/1PqC9WCVYIuf9eF8AS2x" alt="Add to Calendar block settings with date, time, and location"></div>
{% endstep %}

{% step %}

### Add a preheader and finish the email

The Email Settings block at the top of most emails is optional. Most of its settings are for special use cases involving shared links to the email content, but the **Preheader** is worth using.

The preheader is the short summary that recipient email clients show next to the subject line. Use it to summarize what the email contains.

Once your preheader is saved, click **Done Editing** to exit the editor.

<div align="left" data-with-frame="true"><img src="/files/JKwSzmaceNyhlCAj8UEk" alt="Preheader field in Email Settings block with Done Editing button"></div>
{% endstep %}
{% endstepper %}

### What to do next

The email is ready to send. See [How to send an email](/getting-started/campaign-basics/basics-send-email).


# Creating your first form

A step-by-step guide to creating a Form in eMarketeer, from setup through the thank-you page and optional confirmation email.

{% hint style="warning" %}
To create a new Form you need a campaign first. If you don't have one ready, see [How to create a new campaign](/getting-started/campaign-basics/create-new-campaign).
{% endhint %}

This guide walks you through creating a Form in eMarketeer — for an event signup, newsletter signup, or any other use.

By the end you will have a working form with a thank-you page and an optional confirmation email.

{% stepper %}
{% step %}

### Add the form from the campaign page

From the campaign where you want to create the form, click **Add Form**.

<div align="left" data-with-frame="true"><img src="/files/xlHIWZXihGPXLI9PrjCG" alt="Add Form button on the campaign page"></div>
{% endstep %}

{% step %}

### Fill in settings, choose a template, create the form

<div align="left" data-with-frame="true"><img src="/files/H0CX6y4vj3aYDCSGWAZC" alt="Form settings and template selection dialog"></div>

**Settings**

* **Name your form:** Give the form a unique name so you can find it later. Describe its purpose in the campaign — for example, "Registration" for a registration form. Only you see this name; it is not shown to visitors.

**Template**

Pick a template from one of the tabs as a starting point for the design. This guide uses **Event Registration** from the **Templates** tab. Custom templates saved on your account appear under **My Templates**.

**Create form component**

Once settings and template are set, click **Create Form** to create the component.
{% endstep %}

{% step %}

### The form editor

After you click **Create Form**, the editor opens with the Designer tab active. The left-side menu (Toolbox) lets you add form fields by dragging them onto the design surface — the centre area where you structure the form layout and add pages. The **Event Registration** template opens with three pages: **Personal information**, **Guests**, and **Last things**.

<div align="left" data-with-frame="true"><img src="/files/KjL9YW3hcT8G0tw9LtKA" alt="Form editor with Toolbox on the left and the design surface in the centre"></div>

For a full reference of all tabs and options, see [Form editor: UI overview](/guides/guides/forms/ui-overview).
{% endstep %}

{% step %}

### Change the title and description

Many templates open with a Survey title and Survey description at the top. Click either text in the design surface to edit it, or adjust it in the General Survey settings.

<div align="left" data-with-frame="true"><img src="/files/zPYTsQ6K0Ei7c6pWvGjf" alt="Editing the survey title and description in the design surface"></div>
{% endstep %}

{% step %}

### Adjust the form fields

Contact fields are the most important fields in any form that collects identified responses. They save the visitor's contact information and match it against your eMarketeer contact database — updating an existing contact card or creating a new one if none exists.

{% hint style="info" %}
To store submitted data as contact data, use **Contact Field** rather than **Single-Line Input** fields. This ensures a contact can be attributed to the form submission.
{% endhint %}

Adjust the fields on the **Personal information** page. The Event Registration template includes First Name, Last Name, Email, Company, and Mobile by default. Add more contact fields from the Toolbox or the **Add question** button at the bottom of each page.

To make a field required, click the **\* Required** button (shown as **\*** on smaller screens). To remove a field, hover it and click the delete button in the bottom-right corner. You can also delete entire pages — if you are using the Event Registration template you may want to remove the **Guests** page.

Many eMarketeer form templates use placeholder texts instead of question titles — the titles are hidden by default through field settings, so the label appears inside the input rather than above it.

<div align="left" data-with-frame="true"><img src="/files/6eGuBOc0gIF8YxpyJBSO" alt="Editing contact fields on the Personal information page"></div>

If visible titles are preferred, they can be enabled in the form field **Layout** properties, under the **Question title alignment** dropdown for individual questions — or in bulk by updating the page's **Question Settings**.

<div align="left" data-with-frame="true"><img src="/files/m0Kd0ldhy331VH8zy9eb" alt="Question Settings panel on a form page, showing the Question title alignment option"></div>

To save your progress, click the floppy-disk icon above the design surface.

<div align="left" data-with-frame="true"><img src="/files/RNZego3x6HS52XhdilJj" alt="Save button (floppy-disk icon) above the design surface"></div>
{% endstep %}

{% step %}

### The most commonly used form fields

This step covers the basic question types to get you started.

* **Radio Button Group:** A question with multiple pre-defined answers where the visitor picks *one*.
* **Checkboxes:** A question with multiple pre-defined answers where the visitor can pick *several*.
* **Long Text:** A question where the visitor can write any text answer. Use this for longer answers.
* **Consent:** A checkbox with text of your choosing. Selecting it updates the Consent setting on the visitor's contact card — useful when you need explicit consent to store contact information.

You can find these question types in the Toolbox in the left-side menu. For a full list of available question types, see [Form editor: UI overview](/guides/guides/forms/ui-overview#question-types).
{% endstep %}

{% step %}

### Set up the thank-you page

After a visitor submits, they are shown the thank-you page to confirm their answer was saved. The default thank-you page contains a single text block, which you can edit to fit your form.

Open the thank-you page settings by clicking **Survey Settings** (next to the Save button) above the design surface, then click the **Thank You Page** (crossed flags icon) in the right-side Property Grid.

<div align="left" data-with-frame="true"><img src="/files/AYsxtOF1oXRB38cHrq4s" alt="Thank-you page options in the Property Grid"></div>

To change the text shown on the thank-you page, edit the **Thank You page markup** field. To redirect visitors to an external URL after submission, use the **Redirect to an external link after submission** option.

{% hint style="info" %}
The thank-you page still shows briefly before redirecting unless **Show the "Thank You" page** is unchecked.
{% endhint %}
{% endstep %}

{% step %}

### Configure a confirmation email (optional)

Confirmation email settings let you send a copy of each submission to a specified email address, and send a copy of the answers back to the person who submitted them.

<div align="left" data-with-frame="true"><img src="/files/rBnROmRdgvBmZEfElx4M" alt="Confirmation email editor with sender fields and email body"></div>

1. Click the **Confirmation** button, then enable the feature using the toggle in the top-right corner.
2. Fill in the sender information (required):
   * **From name:** The sender name shown in the recipient's email client.
   * **From email:** The sender address — choose a prefix and select a domain from the dropdown.
   * **Subject line:** The subject shown in the recipient's email client.
3. To send a copy to yourself or a colleague after each submission, fill in **Send a copy to emails**. Separate multiple addresses with commas.
4. Edit the email body as needed:
   * Double-click to edit a block. Drag and drop to move blocks.
   * Click **Open blocks** in the top-right corner to add more content blocks.
   * The **Form Answers** block displays the answers submitted by the respondent.
     {% endstep %}

{% step %}

### Publish your form

Once your form is ready, click **Publish** in the editor top bar.

<div align="left" data-with-frame="true"><img src="/files/ICqvIMG6VpF8QEP9HqKC" alt="Publish panel showing Hosted URL and embed options"></div>

* **Hosted URL:** A shareable link to the form. The form displays as it appears in the Preview tab. Share it directly via social media, a chat message, or a link on your website.
* **Embed on your website:** Places the form on a web page using a script snippet. See [Embed forms on your website](/guides/guides/forms/publish-a-form) for the full setup guide.
* **Email:** Link to the form from an email. See [How to publish a form](/guides/guides/forms/how-to-publish-a-form#link-to-a-form-from-an-email) for details.
  {% endstep %}
  {% endstepper %}


# Creating your first SMS

A step-by-step guide to creating an SMS in eMarketeer and getting it ready to send.

{% hint style="warning" %}
To create a new SMS it is required that you create a campaign first. If you don't have a campaign ready, see [How to create a new campaign](/getting-started/campaign-basics/create-new-campaign).
{% endhint %}

This guide walks you through creating an SMS in eMarketeer — for publishing an app, notifying about an event, or any other use.

Sending SMS is only a few steps once the message is set up. By the end of this guide you will have a message ready to send.

{% stepper %}
{% step %}

### Add the SMS from the campaign page

From the campaign page, click **Add SMS**.

<div align="left" data-with-frame="true"><img src="/files/lUOz1sWhwP4UzvdY65Wf" alt="Add SMS button on the campaign page"></div>
{% endstep %}

{% step %}

### Fill in settings, choose a template, create the SMS

<div align="left" data-with-frame="true"><img src="/files/2SrTSNzOEvAI7P2x9Nai" alt="SMS settings with name field and template selector"></div>

**Settings**

* **Name your SMS:** Give the SMS a unique name so you can find it later. Describe its purpose in the campaign — for example, "Invitation" for an event invitation. Only you see this name; it is not shown to your contacts.

**Template**

Pick a template from one of the tabs as a starting point. This guide uses **Mobile App Delivery**. Custom templates saved on your account appear under **My Templates**.

**Create SMS component**

Once settings and template are set, click **Create SMS** to create the component.
{% endstep %}

{% step %}

### The SMS editor

After you click **Create SMS**, the editor opens. You see a text box where you edit the message and a Sender ID option below it.

The Sender ID is the name of the sender as shown on the recipient's phone. The default is `eMarketeer`. You can request a custom Sender ID — see [this article](/references/references/sms/sender-id).

Below that you find the SMS testing feature, which lets you send the SMS to yourself to see how it looks on arrival. Links in test SMS messages do not work — send the SMS the normal way if you need to test links.

<div align="left" data-with-frame="true"><img src="/files/c4hVEzPk5nqN0YOOgWnX" alt="SMS editor with message box, Sender ID and test send"></div>
{% endstep %}

{% step %}

### Edit the SMS content

Edit the message text in the text box. The buttons above the text box let you add links and personalized text such as the recipient's name.

Links to other eMarketeer components are personalized per contact. For example, if you send a link to a mobile app component for an event, it can include a unique QR code or badge the contact uses to identify themselves at the event.

Click **Save Message** after each change to save your work.
{% endstep %}

{% step %}

### Send your SMS

Sending an SMS works much like sending an email and has many of the same options. See [How to send an email](/getting-started/campaign-basics/basics-send-email) for the full walkthrough.

Phone numbers must include the country code and follow [standard formatting](/references/references/sms/mobile-number-validation) before you send. For example: `+46701231231`.
{% endstep %}
{% endstepper %}


# How to send an email

The simplest path to sending an email in eMarketeer, from a finished email component to a delivered send-out.

This article walks through the simplest path to send an email in eMarketeer — from a finished email component to a list of contacts.

We skip the more advanced features here and focus on a straight-up send.

{% hint style="info" %}
Before you start, you need a finished email component. See [Creating your first email](/getting-started/campaign-basics/basics-creating-email) if you do not have one yet.
{% endhint %}

{% stepper %}
{% step %}

### Start the send-out

Go to the campaign that contains the email and click **Send**.

<div align="left" data-with-frame="true"><img src="/files/CWUQlrlLPKUrz9c63BU2" alt="Send button on the campaign page"></div>
{% endstep %}

{% step %}

### Choose Send Now

This guide covers sending immediately. You also have the option to schedule the email for a later time.

<div align="left" data-with-frame="true"><img src="/files/uE9rDySKmwkFLaFKD2Ny" alt="Send Now option in the send-out dialog"></div>
{% endstep %}

{% step %}

### Send a test email or send to your contacts

**Option A — Send a test email to yourself (optional)**

To preview the email in your own email client, send yourself a quick test. Type your email address in the address field and click **Quick Send**.

<div align="left" data-with-frame="true"><img src="/files/OOWctPErvJgqznSC3ZsW" alt="Quick Send field for sending a test email to yourself"></div>

**Option B — Send the email to your contact list**

This step has three pages.

If you do not have a contact list yet, see:

* [How to create a new contact list](/guides/contacts-lists/new-contact-list)
* [Importing contacts from Excel or a spreadsheet](/guides/contacts-lists/import-contacts-from-excel)

First, select **eMarketeer Contact Database**.

<div align="left" data-with-frame="true"><img src="/files/85r1IDll1WoBULvjDTtI" alt="Selecting eMarketeer Contact Database as the recipient source"></div>

Second, select **Contact List**.

<div align="left" data-with-frame="true"><img src="/files/IATLtxTQ2cV9sMvLIZRN" alt="Selecting Contact List as the recipient type"></div>

Third, choose your contact list in the dropdown and click **Add This List**. The example below uses a list called "Example List" with 15 contacts.

<div align="left" data-with-frame="true"><img src="/files/Yngc0L4DA49R8lRXjFcf" alt="Contact list dropdown with Add This List button"></div>
{% endstep %}

{% step %}

### Continue to the checklist

The next page, **2. Send Options**, shows the chosen list of recipients and offers options for more complex send-outs. For a simple send, you can skip the details here.

Click **Continue To Checklist** to proceed.

<div align="left" data-with-frame="true"><img src="/files/aXmE6uwmY86BJAxKonTh" alt="Send Options page with Continue To Checklist button"></div>
{% endstep %}

{% step %}

### Review the checklist and launch

The checklist shows whether any contacts from your list will be excluded from the send. eMarketeer automatically blocks contacts who are unsubscribed or otherwise should not receive the email. You do not usually need to worry about the numbers here — they are handled for you.

If you want the details, see [Understanding the email checklist](/references/references/email/checklist-explained).

Click **Launch Email** to address and send the email to the contacts in the list.

<div align="left" data-with-frame="true"><img src="/files/tQFKtZE2t0SsqI1KR66t" alt="Checklist page showing excluded contacts and Launch Email button"></div>
{% endstep %}

{% step %}

### The send-out is complete

After launch, the email is handed to the email servers, which usually finish addressing and sending within a few minutes.

<div align="left" data-with-frame="true"><img src="/files/j2wODQ4mxcLDER4VNErT" alt="Send-out confirmation screen after launch"></div>
{% endstep %}
{% endstepper %}

### What to do next

You can track the send-out and see detailed stats in the email report. See [Email report explained](/references/references/email/email-report-explained).


# Account setup

A checklist of the key steps to get your eMarketeer account ready — from domain authentication to integrations.

Getting your account ready involves a handful of one-time steps. Adding an email domain is required before you can send; the rest are optional but expand what the platform can do for you.

{% hint style="info" %}
Many of the options in this checklist are only accessible to users with the Administrator role.
{% endhint %}

{% stepper %}
{% step %}

### Complete the corporate details

Fill out your corporate contact information and upload your logo under **Account → Corporate settings**. This information is used in system emails sent from eMarketeer.
{% endstep %}

{% step %}

### Invite users

Add everyone on your team who needs access to eMarketeer. Each person gets their own login, and you control their permissions during the invite.

[How to invite users to your account](/guides/account-admin/invite-user-account)

Consider whether to enforce multi-factor authentication account-wide. This adds a second verification step for all users at login, reducing the risk of unauthorized access.

[Multi-factor authentication](/references/references/accounts-auth/multi-factor-authentication)
{% endstep %}

{% step %}

### Add an email domain

Authenticating your sending domain is required before you can send emails from eMarketeer. It also improves deliverability by proving to receiving mail servers that eMarketeer is authorized to send on your behalf.

Start this step early — DNS changes are often handled by an IT department or hosting partner who may need to schedule the work. The rest of your setup can continue in the meantime.

[Add email domain](/getting-started/account-setup/authorize-email-domain)
{% endstep %}

{% step %}

### Add a custom domain

A custom domain replaces the default `app.emarketeer.com` hostname in the links eMarketeer generates — including form URLs, landing page links, and email tracking links. This keeps your brand consistent and removes the eMarketeer hostname from links visible to your contacts.

[Custom domain](/guides/account-admin/domains)
{% endstep %}

{% step %}

### Add website scripts

Install two scripts on your website to connect it to eMarketeer. The **form base script** is required on any page where you want to embed a form. The **Web Tracker** records page visits and links them to identified contacts, giving you visibility into which pages a contact has browsed.

Set up the Web Tracker as early as possible — once installed it starts collecting data immediately, and that history becomes valuable the moment you begin sending campaigns.

[Website integration](/getting-started/account-setup/website-integration)
{% endstep %}

{% step %}

### Set up custom fields

Custom fields extend the contact record with data specific to your business — for example, industry, customer tier, or region. Use them to segment your database more precisely and to personalize email and form content.
{% endstep %}

{% step %}

### Integrate your CRM

Connecting eMarketeer to your CRM keeps marketing and sales data in sync. Contact data, consent records, and engagement signals flow between the two systems automatically — giving your sales team up-to-date marketing intelligence without manual exports.

Supported integrations:

* [SuperOffice](/integrations/superoffice)
* [Microsoft Dynamics 365](/integrations/dynamics)
  {% endstep %}

{% step %}

### Connect social media advertising

eMarketeer can receive lead submissions directly from social media ad campaigns. Each submission creates or updates a contact, sets a lead score, and can trigger a Journey — no manual CSV import needed.

Supported integrations:

* [Facebook Lead Forms](/integrations/integrations/facebook-lead-forms)
* [LinkedIn Lead Gen Forms](/integrations/integrations/linkedin-lead-gen-forms)
  {% endstep %}

{% step %}

### Create component templates

All components — emails, forms, and webpages — can be saved as templates for future reuse. If you want templates built to match your brand design, an eMarketeer consultant can help you set these up.

To get started creating your component templates, see our [Campaign basics](/getting-started/campaign-basics) guides.
{% endstep %}
{% endstepper %}


# Add Email domain

Step-by-step instructions for adding an email domain to your eMarketeer account.

{% hint style="info" %}
An authorized email domain is required to send emails from eMarketeer. Without one, outgoing email is not available on your account.
{% endhint %}

This guide walks you through authenticating your domain so you can send email from your own address with the best possible deliverability.

Once you finish, let us know and we will activate the new email service for your account.

{% stepper %}
{% step %}

### Open Email domains

In eMarketeer, go to **Account** → **Email domains** and click **Add a domain**.
{% endstep %}

{% step %}

### Enter your domain

Enter the domain you want to authorize (for example, `yourdomain.com`) and click to add.

<div align="left" data-with-frame="true"><img src="/files/tRbAVXfMS6UCSo43RDZN" alt="Add a domain dialog with domain name field"></div>
{% endstep %}

{% step %}

### Add DNS records

eMarketeer shows a list of DNS records. Add them to your DNS. If you do not have access to your company's DNS — often the IT department owns it — click the link in the authorize dialog to send the records to the person in charge.

<div align="left" data-with-frame="true"><img src="/files/MYbUe29JIy7cXAw8MxoH" alt="DNS records list shown in the authorize dialog"></div>

<div align="left" data-with-frame="true"><img src="/files/jvSRYfIHhwak7F3UTFrL" alt="link to send DNS records to the IT department"></div>
{% endstep %}

{% step %}

### Click Authorize

Once the records are in place, return to the authorize dialog and click **Authorize**.
{% endstep %}

{% step %}

### Confirm authentication

If the records are correct, the dialog validates and accepts the authentication. If something is wrong, the failing record is marked in red.

<div align="left" data-with-frame="true"><img src="/files/KR5tZwDRPJirkFaFq0EV" alt="failing DNS record highlighted in red"></div>

<div align="left" data-with-frame="true"><img src="/files/py9NGAwzpdXV2RvDplv7" alt="successful domain authentication confirmation"></div>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
DNS changes usually propagate quickly, but allow up to 48 hours.
{% endhint %}

Once the domain is authenticated, you can send from eMarketeer using your domain as the From address with the best possible deliverability. You can repeat this process for as many domains as you need. If you run into questions, email <support@emarketeer.com>.


# Website integration

How to connect your website to eMarketeer using the Web Tracker and the form base script.

Connect your website to eMarketeer to track visitor behaviour and enable forms on any page.

eMarketeer provides two scripts for website integration. Install both to get the complete picture: which pages a contact visits, and which forms they complete.

## Web Tracker

The Web Tracker records page visits on your website. Once a visitor is identified — by clicking a link in an email or submitting a form — their page visits appear on the contact timeline in eMarketeer.

The tracker also populates the marketing dashboard with session data, traffic sources, and UTM attribution.

See [Installing the Web Tracker script on your website](/references/references/web-tracker/installing-the-web-tracker-script-on-your-website) for setup instructions.

## Form base script

The form base script must be present on any page where you want to embed an eMarketeer form. Without it, forms will not load.

Add the following snippet once to your website — in the `<head>` element or via a tag manager:

```html
<script type="application/javascript" src="https://app.emarketeer.com/public/scripts/forms.js"></script>
```

The script does not collect any data on its own. It only enables forms to render on the page.

## How they work together

When both scripts are installed, submitting a form identifies the contact. eMarketeer then links that contact to all the page visits recorded since consent was given — including visits made before the form was submitted.


# Campaign guides

How-to guides for emails, forms, campaigns, and webpages in eMarketeer.

{% columns %}
{% column %}
{% content-ref url="/pages/y22yDwzLtvXC4m5mGuKt" %}
[Emails](/guides/guides/email-content)
{% endcontent-ref %}

{% content-ref url="/pages/Z9KBHJqqdSUEEkyV7mHJ" %}
[Forms](/guides/guides/forms)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/NMBoJ6vK6sHqMGPmqpfj" %}
[Campaigns](/guides/guides/campaigns)
{% endcontent-ref %}

{% content-ref url="/pages/9CdmVvvRUACqx7s2vo4M" %}
[Webpages](/guides/guides/webpage)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# Emails

Guides for building, personalizing, and troubleshooting email content in eMarketeer.

{% columns %}
{% column %}
{% content-ref url="/pages/3MCCszB59zUXVK2Nj7pM" %}
[How to send reminders](/guides/guides/email-content/configuring-reminder-email)
{% endcontent-ref %}

{% content-ref url="/pages/uR7fjIQUha92dVX3J2zK" %}
[How to create a custom content block](/guides/guides/email-content/create-custom-content-block)
{% endcontent-ref %}

{% content-ref url="/pages/x8MojGUxSXzhI3PNQYJn" %}
[Creating clickable email address links and buttons](/guides/guides/email-content/email-address-links)
{% endcontent-ref %}

{% content-ref url="/pages/CyUqExOapRomK6vSqtmr" %}
[New email templates — what you need to know](/guides/guides/email-content/email-templates)
{% endcontent-ref %}

{% content-ref url="/pages/uVaGjMfQtjXCzanHOHoJ" %}
[Embed Video/Media](/guides/guides/email-content/embed-videomedia)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/Bkr1GsP3hTaIq3TD8ulP" %}
[Tutorial: How to use email preheaders](/guides/guides/email-content/how-to-use-email-preheaders)
{% endcontent-ref %}

{% content-ref url="/pages/kgnGDuW1AAD9QBkqZYqk" %}
[How to use the image editor in eMarketeer](/guides/guides/email-content/how-to-use-the-image-editor-in-emarketeer)
{% endcontent-ref %}

{% content-ref url="/pages/4h2ReLhwysusT1l5KecT" %}
[Missing Image Block in Email Component](/guides/guides/email-content/missing-image-block)
{% endcontent-ref %}

{% content-ref url="/pages/9KA2Ev1zNvXXByapRqd5" %}
[Personalize content](/guides/guides/email-content/personalize-content)
{% endcontent-ref %}

{% content-ref url="/pages/MHWiLiBUH4BrGve2br64" %}
[Identifying why an email was not received](/guides/guides/email-content/identify-email-not-recieved)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# How to send reminders

How to target contacts who did not open or respond to a previous send-out with a follow-up email.

Set up a follow-up campaign that automatically skips contacts who already engaged with the original send.

eMarketeer's reminder pattern uses a dynamic Selection of contacts based on engagement with a previous component, such as an email or form. The Selection updates over time, so you can build the reminder before the original campaign goes out and trust it to target only the contacts who still need a nudge.

This guide covers two common scenarios: reminding contacts to read an email they haven't opened, and reminding contacts to register through a form they haven't submitted.

{% stepper %}
{% step %}

### Create an email component to use as the reminder

If you have not built the reminder email yet, see the guide on [creating an email](/getting-started/campaign-basics/basics-send-email).
{% endstep %}

{% step %}

### Start the send process and add the original recipients

Choose the same group of contacts you used for the original campaign as your first Recipient Source. If you want to send the reminder later, pick "Scheduled Email" as the sendout type in the first step.
{% endstep %}

{% step %}

### On Step 2, Send Options, click \[Add More Recipients]

Use this button to add the Selection of contacts you want to block from the reminder.

<div align="left" data-with-frame="true"><img src="/files/8cVzZkQTJo1515Hh8K5H" alt="On the page for the second sendout step, click the Add More Recipients button to add the selection of contacts to block later"></div>
{% endstep %}

{% step %}

### Choose "Selection" for the second Recipient Source

<div align="left" data-with-frame="true"><img src="/files/VijxDzdhDZet7wZjBsE1" alt="Selection type recipient list is the last option on the first recipient source options page"></div>
{% endstep %}

{% step %}

### Pick the Selection that matches your reminder

The Selection you pick depends on what the reminder is about. The two examples below cover an email open and a form submission, but other event types are available.

* **Example 1:** To remind contacts to read a previous email, build a Selection of contacts who have opened that email. Those contacts are the ones you will block.

<div align="left" data-with-frame="true"><img src="/files/JobaUKTv2zOXU2dvnYb7" alt="On the second recipient source selections page, select your campaign, then your previous email, then the event type Opened E-mail to block the reminder email sendout to those contacts that already have read the previous email"></div>

* **Example 2:** To remind contacts to register through a form, build a Selection of contacts who have submitted that form. Those contacts are the ones you will block.

<div align="left" data-with-frame="true"><img src="/files/l3po0f0wMUvq72hA4DTX" alt="On the second recipient source selections page, select your campaign, then your form, then the event type Submitted to block the email sendout to registrants to a form in the next step"></div>
{% endstep %}

{% step %}

### Set the Selection's Type to "Block"

The Recipients list now shows both your original group and the new Selection. Change the Type dropdown for the Selection from "Send to" to "Block".

<div align="left" data-with-frame="true"><img src="/files/3fVmotwQiV5GBVTeEqxG" alt="Block Recipients option is found as a dropdown menu option on the row for the recipient source"></div>

A contact in a blocked recipient list is excluded from the send, even if another recipient list would have included them.

For a scheduled email, the Selection re-evaluates over time. Even if it contains zero contacts when you set up the send, it will block the right people at the moment the email goes out.
{% endstep %}

{% step %}

### Continue to the Checklist and send or schedule

Finish the sendout flow to send the reminder now or schedule it for later.
{% endstep %}
{% endstepper %}

If you still have questions, contact support via the channels listed on the [contact page](https://app.emarketeer.com/corporate/gui/help/contact.php) when logged in to your account.


# How to create a custom content block

How to edit a content block's HTML and save it as a reusable custom block in the email editor.

{% hint style="warning" %}
This feature requires Developer permission. Contact your Account Administrator if you need it enabled on your user account.
{% endhint %}

Save an edited content block so it becomes reusable across components and templates.

This article covers advanced use of eMarketeer and is outside the scope of standard support. If you need help with developer features, contact your reseller to be put in touch with a development consultant or technician.

Users with Developer permissions can change the HTML of a content block to alter how it looks and works. Once you have made a substantial edit, you can save the block for reuse. A saved block is then available to every user who edits that component, and if the component becomes a template, the saved block carries through to any new component created from that template.

***

## How to save a custom content block

<div align="left" data-with-frame="true"><img src="/files/5mBPFl9w8dPS8Oh3irk6" alt="Step 1 of saving a block"></div>

Saving a block

{% stepper %}
{% step %}

### Enable Developer Mode

With Developer permissions you will see the \[Enable Developer Mode] button in the Tools menu.
{% endstep %}

{% step %}

### Open the block to save

Double-click the custom block to open its configuration menu.
{% endstep %}

{% step %}

### Go to Block Settings

Open the Settings tab in the block's configuration menu.
{% endstep %}

{% step %}

### Give the block a label

The Label is the name shown in the Component Content section when the block is in use. Example: *1 Column: Text (1/1)*.
{% endstep %}

{% step %}

### Click Save as Block

\[Save as Block] opens the dialog where you can save the custom block to the component.

<div align="left" data-with-frame="true"><img src="/files/QYkHHOSfDtkre6PJVy45" alt="Step 2 of saving a block"></div>

Save as block window

1. **Set a container name** — The container name identifies the custom block in the system and is visible in Developer Mode.
2. **Set a unique label for the block** — This label is the name every user sees when working with the custom block.
3. **Create the custom block** — Clicking \[Create] saves the custom block and adds it to the "Add Content Block" menu so any user can drop it in.

<div align="left" data-with-frame="true"><img src="/files/lh6o8z76ACnyV6kkjzqD" alt="The new block in the Add Content list"></div>

The block as shown in the Add Content list
{% endstep %}
{% endstepper %}

***

## Custom blocks in templates

To make the block available in new components built from a template, either edit an existing template to add the block, or create a new template from a component that already contains it, as shown below.

<div align="left" data-with-frame="true"><img src="/files/ontRzvENu3yUt3bysWqy" alt="Creating a template from a component"></div>

Creating a template from a component with a custom block

Any new component created from that template inherits the custom block. If you later update the block in the template, the change also propagates to components already built from it.


# Creating clickable email address links and buttons

How to create clickable mailto links and buttons in an email component so recipients can start a reply with one click.

A clickable email address opens a new message in the recipient's email client with the address already filled in.

Many email clients add this behavior automatically when they detect an address in incoming mail, but you can make it explicit on a link or button. The technique is the same as for a web link — you use a URL with the `mailto:` prefix, like this:

> mailto:<support@emarketeer.com>

{% hint style="warning" %}
Avoid using the email address itself as the link caption. Use descriptive text instead — for example, "Contact us" or "Email John Doe" — to avoid triggering phishing filters.
{% endhint %}

## Clickable address in text

To turn text inside a component into an email link, follow the same steps as for a regular web link.

1. Highlight the text you want to be clickable.
2. Click the Hyperlink/Link button in the text editor.
3. In the Link URL field, write the email address with the prefix `mailto:`.
4. Apply the link.

Best practice is to avoid adding this type of link in the body of an email component. Most email clients already turn plain email addresses into clickable links, so the sender does not need to add the link manually.

<div align="left" data-with-frame="true"><img src="/files/yxBdvQ1mWqo0mVPs1QMs" alt="Email link applied to text in the editor"></div>

Example of an email link applied to text.

## Button linked to an email address

The approach is the same — the `mailto:` URL goes in the Link URL field, but this time on a button.

1. Select the block with the button and open the Link box that matches the button.
2. In the Link URL field, write the email address with the prefix `mailto:`.
3. Apply the link.

<div align="left" data-with-frame="true"><img src="/files/yxBdvQ1mWqo0mVPs1QMs" alt="Email link applied to a button"></div>

Example of an email link on a button.


# New email templates — what you need to know

An overview of eMarketeer's free, mobile-friendly email templates and what changed in the updated generation.

The free email templates in eMarketeer give you a head start when building emails, with dozens of mobile-friendly designs you can customize to fit your brand.

<div align="left" data-with-frame="true"><img src="/files/ke4c1QRsJniY24vaWsln" alt="Collage of email template examples"></div>

## What is new in the templates

The new templates look more modern and are built on a new root code, which means they render better in more email clients than before. Other benefits include:

* More design options. Over 60 content blocks are available, designed to fit together for simpler editing.
* Higher image resolution.
* Link share settings that let you set the title, description, and image used automatically when the email link is shared on social media.
* Google font support, with no coding needed.

The new templates replace the previous ones. Saved templates still appear in your account, but they are based on the old root code. To get the new benefits, rebuild your saved templates using one of the new ones.

If you need help moving a saved template to the new root, email <sales@emarketeer.com>.

{% columns %}
{% column %}

<div align="left" data-with-frame="true"><img src="/files/5URh1bB3vXHCPRCKxCnS" alt="Email template example 1"></div>
{% endcolumn %}

{% column %}

<div align="left" data-with-frame="true"><img src="/files/V11g3p0ZHFJqEVpJPsQU" alt="Email template example 2"></div>
{% endcolumn %}

{% column %}

<div align="left" data-with-frame="true"><img src="/files/fyuDvrfcEcMB0WUhMU6t" alt="Email template example 4"></div>
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}

<div align="left" data-with-frame="true"><img src="/files/REH8KlchsQdvB5KY6sbE" alt="Email template example 5"></div>
{% endcolumn %}

{% column %}

<div align="left" data-with-frame="true"><img src="/files/1XEMZoiag9CaT3m43G56" alt="Email template example 6"></div>
{% endcolumn %}

{% column %}

<div align="left" data-with-frame="true"><img src="/files/8zVPuIIE82ldAlWTMBid" alt="Email template example"></div>
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}

<div align="left" data-with-frame="true"><img src="/files/WhYsjOvwrbWEkgD6YW6E" alt="Email template example"></div>
{% endcolumn %}

{% column %}

<div align="left" data-with-frame="true"><img src="/files/Qbs4WHQJpdH5uCSKo9gl" alt="Email template example"></div>
{% endcolumn %}

{% column %}

<div align="left" data-with-frame="true"><img src="/files/AECOzAHr3gC9DpoLqnMY" alt="Email template example"></div>
{% endcolumn %}
{% endcolumns %}

## Three tips about the email templates

Start by choosing the template that suits your message — event invitation, product promotion, newsletter, and more. In the editor, you customize the template with the drag-and-drop tools and the 60+ content blocks. Three additional tricks, all set up in the email settings box in the editor, are below.

### 1. Link sharing settings

When you share the link to your email on social media, the post can use a custom title, description, and image. At the top of the template in the editor, open the email settings box. Set a title (for example, your subject line), a description, and an image. These values are used automatically in the social media preview.

This is not where you set the subject line for the email itself — the subject line and sender information live in the left-hand side menu.

<div align="left" data-with-frame="true"><img src="/files/E3y8kc4ja1RC0wbXrZpP" alt="Link sharing settings in the editor"></div>

Where to update link sharing information in the editor.

<div align="left" data-with-frame="true"><img src="/files/2T23k1OCy3gAP7ptQQfw" alt="Email link preview on social media"></div>

How the email link looks when posted on social media.

### 2. Set your preheader

The preheader is your second chance — after the subject line — to convince a contact to open the email. It appears next to the subject line in the inbox preview.

In the email settings box, click the preheader field. Use it to extend your subject line or preview the email content. The preheader text is not shown inside the email itself, only in the inbox preview. If you leave it empty, the first text in the email is shown instead, which is often something like "read on web."

The exact length that displays depends on the recipient's email client. Aim for 40–100 characters.

<div align="left" data-with-frame="true"><img src="/files/fp8itmFw6ggh9CbXE6dj" alt="Preheader examples in the inbox"></div>

Examples of emails with and without a preheader.

### 3. Use a Google font in your email

Double-click the email settings box and open the Google Fonts tab in the panel on the right. In the text box, type the font name exactly as Google has it — the field is case sensitive. You can also choose whether the font applies to headlines only or to all text in the email. Save your changes.

If the recipient's email client does not support web fonts, the font set under Styles is used as the fallback.

## Bonus tip

Create images for your email with the image editor in eMarketeer. You can add filters, text, and graphical elements, and the built-in stock image library includes two million photos, 900 fonts, and 700 icons that are free to use.

For a walkthrough, see [How to use the image editor in eMarketeer](/guides/guides/email-content/how-to-use-the-image-editor-in-emarketeer).


# Embed Video/Media

How to use the Video/Media block in the Page Builder to embed YouTube videos and other rich media into emails and webpages.

Use the Video/Media block in the Page Builder to embed video, slides, and other rich content from external services.

The block is available in the Page Builder for emails and webpages. eMarketeer pulls media from services such as YouTube and renders it inside your content.

<div align="left" data-with-frame="true"><img src="/files/e7Sl48dAs5ot5woBTGKq" alt="Video/Media block in the Page Builder"></div>

### How to add video and media

<div align="left" data-with-frame="true"><img src="/files/5e7YTTBpVOKeUYBquPgb" alt="Video/Media settings dialog with URL field and preview"></div>

Add a block with Video/Media in it and double-click to edit. The dialog above appears. Paste the URL of your media into the text box (for example, <https://www.youtube.com/watch?v=ueMNqdB1QIE>).

A preview appears below the text box once the URL resolves. Click Save to add the media.

If the block does not update, you clicked Save before the preview finished loading. Try again.

### Will this work in emails?

Most email clients do not support video objects, but they do support images. When you add Video/Media to an email, eMarketeer inserts a screenshot of the video with a play button and links it to the original URL. The recipient sees the illusion of an embedded video and opens the real one in a browser on click.

### Video/Media and the page editor

While you edit a page or email, the block shows only a preview of the media. The actual embedded player appears when you publish, send, or preview the page.

### Supported media formats

The embed feature supports most online rich-content providers, and the list keeps growing. It covers videos, image galleries, presentations, audio, and more.

Supported services include YouTube, Vimeo, SlideRocket, Slideshare, Flickr, and Google Maps. [View the full list of supported formats](https://embed.ly/providers).


# Tutorial: How to use email preheaders

How to add a preheader text to an email so recipients see a custom summary line next to the subject in the inbox.

This tutorial shows how to add a preheader to an email in eMarketeer.

The video covers adding a preheader in emails built from older templates. For newer templates, you find the preheader in the email settings section.

{% embed url="<https://www.youtube.com/watch?v=XN8TcivLJu4>" %}

## What a preheader is

A preheader is the text that appears next to the subject line when an email arrives in the inbox. By default it shows the first piece of text in the content, but you can customize it. Use the preheader to complement the subject line or summarize what the email contains. The subject line gets the contact to open the email — the preheader gives you extra space and words to raise open rates.


# How to use the image editor in eMarketeer

How to edit images and access the built-in stock library of over two million photos, fonts, and icons directly inside eMarketeer.

The image editor lets you edit your own images and gives you a built-in stock library to draw from.

The library includes more than two million photos, 900 fonts, and 700 icons. All are free to use.

## How to use the image editor

### Where to find the image editor

In the eMarketeer editor — where you build emails or landing pages — add an image block. In the right-hand panel for the image block, click "open image editor."

<div align="left" data-with-frame="true"><img src="/files/AZEIlmgf7ETIMtDytp96" alt="The open image editor button in the image block panel."></div>

### The four main features

The left-hand menu in the editor has four main features:

* **Background:** add the image itself. Search the stock library, upload your own photo, or pick a background color to start from scratch.
* **Shapes:** add a square, circle, or other shape and customize the colors. Use shapes as a layer over your image or as a backdrop for text.
* **Graphics:** add an extra element — another image from the library, an upload of your own, or one of hundreds of icons.
* **Text:** add a headline or other text. The editor remembers the fonts you use and saves them as favorites.

Every image you edit or create is saved. You find them in your image files under the folder called "edited images."


# Missing Image Block in Email Component

How to find and remove hidden empty image blocks that cause broken-image boxes in Outlook (requires Developer permission).

{% hint style="warning" %}
Fixing this issue requires Developer permission on your user account.
{% endhint %}

If a red-x box or a blue question-mark box appears in your sent emails when viewed in Outlook, a missing image block is probably hiding in the email component or template.

<div align="left" data-with-frame="true"><img src="/files/nwSCkreFs9KWzm5pjnKm" alt="Red-x box appearing in Outlook on Windows where an image should render"></div>

Outlook (Windows)

<div align="left" data-with-frame="true"><img src="/files/UcIWqACQSzeUku6PENU0" alt="Blue question-mark box appearing in Outlook on Mac where an image should render"></div>

Outlook (Mac)

This happens when the underlying image was removed from your account or moved to a different folder, creating a new file path. Either action invalidates the image link in any email components that use it, and most email clients respond by hiding the block.

<div align="left" data-with-frame="true"><img src="/files/LCD4lGMTvwWj4De4usce" alt="Email content with the image visible before the path is broken"></div>

Before the image path is broken.

<div align="left" data-with-frame="true"><img src="/files/nv2UrL7XWORIVjzuogQi" alt="Email content with the image block hidden after the path is broken"></div>

After the image block is broken and hidden.

## How to fix it

An eMarketeer user with developer permission can remove or fix the block from the component by entering developer mode.

<div align="left" data-with-frame="true"><img src="/files/bf69KVjNACCtPQMLuxaa" alt="User account showing the developer permission enabled"></div>

Account user with developer permission.

1. Open the editor for the template or component.
2. Enter developer mode.

   <div align="left" data-with-frame="true"><img src="/files/IT8EdY8mVMg68nOqAOBc" alt="Enable Developer Mode button in the editor toolbar"></div>

   The Enable Developer Mode button.
3. Check the names of all visible image blocks by selecting each and opening the settings tab.

   <div align="left" data-with-frame="true"><img src="/files/OsHQkT6TH8dStyjRp6MG" alt="Settings tab showing the name of a selected image block"></div>

   Checking the name of a visible image block.
4. Enter Tree View.

   <div align="left" data-with-frame="true"><img src="/files/cTtuMPJ8Z5z2fw2Mxkwk" alt="Tree View button in the developer mode toolbar"></div>

   The Tree View button.
5. Locate all Image Full Width blocks in the list and match their container names with the visible ones until you find one that doesn't match. In this example, *container1 (1 Column: Image Full Width)* does not match a visible image block.

   <div align="left" data-with-frame="true"><img src="/files/MixAfwori5yCa86FOlpt" alt="Tree View listing Image Full Width container blocks"></div>

   Image Full Width blocks in Tree View.
6. Select the Image part of the block and change the image URL by clicking the Choose Image button, then pick a new image file in the file selection window.

   <div align="left" data-with-frame="true"><img src="/files/tDDVPmYArgGNnUAa9ltv" alt="Image block selected in Tree View with the image URL field highlighted"></div>

   Locating the image URL.

   <div align="left" data-with-frame="true"><img src="/files/5FxHb5uJdTb5A54nqMU8" alt="File selection popup with a new image selected"></div>

   Selecting a new image file.
7. Save the change, then return to Page View to continue editing the component.

   <div align="left" data-with-frame="true"><img src="/files/2Gvxdp8nojMfViIpccYE" alt="Save button highlighted in the editor toolbar"></div>

   The Save button.

   <div align="left" data-with-frame="true"><img src="/files/NU2OY1gsOkUG6B9P4jrZ" alt="Email component editor now displaying the restored image"></div>

   The result after following this guide.

## How to edit a template

1. Click Add E-Mail from a campaign page to show your templates.
2. Click More Actions on the template you want to edit.
3. Click Edit Template in the dropdown menu.
4. The template opens in the component editor. Any change saved here updates the template.

<div align="left" data-with-frame="true"><img src="/files/tRDwbyuUOPMTtEDkI8at" alt="Sequence showing Add E-Mail, More Actions, then Edit Template"></div>

Visual guide to editing a template.


# Personalize content

How to use contact field data to display personalized content for each individual recipient in emails, SMS, forms, and webpages.

Personalized content displays differently for each contact based on data stored on the contact card.

The most common example is a personalized email greeting that addresses the contact by name. Personalization works in emails, SMS, forms, and webpages.

<div align="left" data-with-frame="true"><img src="/files/fbeJ49v958Zn0dAAdNeU" alt="A personalized greeting in an email."></div>

## How personalized content works

When a contact is identified in an eMarketeer component, that component can pull data from the contact card. Emails and SMS always identify the contact, since they are targeted to specific contacts at send time. Forms and webpages can also personalize when the contact is identified — for example via a personal link.

<div align="left" data-with-frame="true"><img src="/files/QrNU94ikkd6TqGXb2nbs" alt="Contact card showing fields populated for a sample contact"></div>

Take the contact Sebastian Olsson as an example. Any data stored on a contact card field can be used in a component's text, URL, or HTML content. With First name available, you can greet the contact informally — "Hi Sebastian." With Last name and Salutation available, you can use a formal greeting — "Dear Mr. Olsson."

An email is rarely sent to a single recipient, so the important part is that every recipient has the same fields populated for a consistent message. When a contact lacks data, a fallback value can be used.

## Storing contact data for personalization

The most common ways to gather contact data are CRM sync, Excel import, and forms.

### Importing via Excel

Importing via Excel lets you set the data on each contact by preparing the sheet before upload. In this example, First name, Last name, Email, Company, and Personal Code are imported for two contacts.

<div align="left" data-with-frame="true"><img src="/files/ma2xwnAfBFASrVeZ2tT7" alt="Excel sheet with five columns prepared for import"></div>

You can import an Excel file as part of sending an email or SMS, or beforehand into a campaign or contact list. Whichever path you choose, the column-mapping step is crucial — each column must match a contact card field.

{% hint style="info" %}
In this example, Personal Code is a custom field. Custom fields are non-standard contact card fields. Add custom fields under: Account Settings → Customize eMarketeer → Customize Contact Card (administrator role required).
{% endhint %}

<div align="left" data-with-frame="true"><img src="/files/yUl5mjKbuM1Bgo2GiX0H" alt="Column mapping screen during Excel import showing source columns matched to contact card fields"></div>

## Using contact data in a component

Add personalized data to any text field using the Personalize option in the toolbar.

<div align="left" data-with-frame="true"><img src="/files/Hxe710zxin251dgwptFB" alt="Personalize icon in the editor toolbar"></div>

The menu lists all available contact card fields, company account fields, and [campaign fields](/guides/guides/campaigns/how-to-use-campaign-fields-in-emarketeer).

<div align="left" data-with-frame="true"><img src="/files/dqfuiKxvgBxu5SAlgGiW" alt="Personalize menu open with the list of available fields"></div>

Clicking a field inserts a code snippet at the cursor. The snippet for First name looks like this:

```
<% contact field="firstname" fallback="" %>
```

The fallback value handles contacts that lack the field. Edit the text between the `fallback=""` quotes.

Adding `Hello <% contact field="firstname" fallback="valued customer" %>` to your email renders as:

* Hello Sebastian — if the contact's first name is Sebastian.
* Hello valued customer — if the first name is not available.

### Custom field syntax

Standard fields use the syntax above. Custom fields need an extra `type="custom"` attribute:

```
<% contact field="personal_code" fallback="" type="custom" %>
```

{% hint style="info" %}
When writing snippets by hand, forgetting the type attribute is a common mistake — it is not required for standard fields.
{% endhint %}

## Where you can add personalization

### Email sender info

<div align="left" data-with-frame="true"><img src="/files/81g33BCnILmlGtEF41dG" alt="Email sender info fields with personalization placeholders inserted"></div>

### Text content

<div align="left" data-with-frame="true"><img src="/files/L4HZ4ZsZPBUr37PuLMXx" alt="Text content showing a personalization placeholder inline"></div>

### Links and URLs

<div align="left" data-with-frame="true"><img src="/files/6zQ151X6XFu5ElE6xZkU" alt="A link URL with a personal code. Image URLs work the same way."></div>

### HTML

<div align="left" data-with-frame="true"><img src="/files/ME52R1i40or97K213skQ" alt="HTML editor showing a conditional personalization block"></div>

Personalization in HTML with a conditional statement. The block is visible only to contacts with the value "prospect" for the contact category field.

### Other places

* In forms — fields display only if the contact is identified, such as on the thank-you page, in a confirmation email, or via a personal link.
* In certain automations — for example, the lead description text for SuperOffice automations.
* In SMS.


# Identifying why an email was not received

A troubleshooting guide covering the most common reasons a contact did not receive an email and what you can do in each case.

This article explains how to identify the most common reasons a contact did not receive an email and what you can do about each one.

Note that some causes are outside your control as the sender, specifically those tied to the recipient's email service.

## Common causes

1. The email was rejected before being sent.
2. The email bounced after being sent.
3. The final delivery was stopped by the contact's email service.
4. The email was never addressed or sent.

## Identify the reason

### Was the email rejected or bounced?

You can find this in the email component's Report page. Open the corresponding Selections in the email report and check whether the contact appears in either list.

<div align="left" data-with-frame="true"><img src="/files/s1YXPUCAfaU2ZF6KyoRy" alt="Rejected and bounced tags on the Report page"></div>

Event Selections in the Report

A rejected email means the email service found a problem with the sender address or the recipient address during the final check before sendout. A recipient is usually rejected because of a known issue with that specific recipient address or domain, such as a domain that does not exist. If all recipients are counted as rejected, the problem is most likely the sender address or reply-to address of the email component being invalid.

If a contact has bounced, open their contact card from the Selection list. Under the email information in the Engagement History you can read the bounce message returned by the recipient's email service. The example below shows an email bounced by an organisation's strict policy that disallows this type of message.

<div align="left" data-with-frame="true"><img src="/files/5qF1ti3BC0GDSqUXaWei" alt="Bounced error message on a contact&#x27;s contact card"></div>

Bounced error message on a contact's contact card

### The final delivery was stopped by the contact's email service

If the contact appears in the email report's Delivered selection, the recipient's email service accepted the message without delivery issues. The same applies if their contact card and the Details page for the email in the Engagement History both show delivered. Once the email is delivered to the recipient's email service, any reason the message did not reach the inbox is due to an action taken by that service after eMarketeer's successful delivery.

<div align="left" data-with-frame="true"><img src="/files/nG6hZt4WzkvErfBaWm91" alt="Delivered email status on the contact card"></div>

Email information on contact card showing delivery

### The email was never addressed or sent

This usually means the contact was removed from the recipient list during the checklist stage of the sendout process. You can read more about this stage in [this article](/references/references/email/checklist-explained).

If the email was never addressed to the contact, you can usually find the reason on their contact card. Start with the Lead Status widget at the top right of the contact card. If it displays "Bounced", the contact's email address is marked as undeliverable from a previous bounce message that eMarketeer received from their email service.

<div align="left" data-with-frame="true"><img src="/files/mwJCcF30XgzhICQN7xGA" alt="Bounced status on a contact card"></div>

Bounced status on a contact card

Another possibility is that the contact's email address is wrong or contains characters that are not supported in email. To verify, check the email address field on the contact card.

It is also possible that the contact unsubscribed from future sendouts and withdrew their marketing sendouts consent, or unsubscribed from the specific subscription list used for the send. Their marketing sendouts consent and subscription status for each list are visible on the Contact Information tab of the contact card.


# Forms

Forms in eMarketeer — build sign-up forms, event registrations, surveys, and more, as a campaign component that connects to your website and contact database.

{% hint style="info" %}
This section covers the current **Form** editor. For the previous form editor, see [Forms (Legacy)](/guides/guides/legacy).
{% endhint %}

A Form is a campaign component you add to a campaign alongside your emails and other content. To add one, open a campaign and click **Add Form** in the left panel.

<div align="left" data-with-frame="true"><img src="/files/8oZgXHBhGXhrBA2UURti" alt="The campaign sidebar with the ADD FORM button highlighted."></div>

When you add a form, you choose from a set of ready-made templates or start from scratch.

<div align="left" data-with-frame="true"><img src="/files/53gMyZ9Lz4nzk5FprbF7" alt="The form template picker showing available templates."></div>

Forms are suited for a wide range of use cases:

* Sign-up forms
* Event registrations
* Surveys and post-event evaluations
* Scored quizzes
* NPS surveys

Forms are designed to be easily embedded on your website — any changes you make in eMarketeer update the embedded form automatically. Forms can also be hosted directly by eMarketeer, in which case you get a link you can share or point to from anywhere. See [Embed forms on your website](/guides/guides/forms/publish-a-form) for setup instructions.

Form submissions are recorded as contact activity. Every form gives you a report of which contacts responded and when. You can also use submissions to trigger [Journeys](/guides/journeys), build [lead scoring](/guides/lead-board-scoring/how-lead-scoring-works-in-emarketeer) rules around form engagement, or route contacts into [lead streams](/guides/lead-board-scoring/lead-streams). With the [Web Tracker](/references/references/web-tracker) installed on your website, form submissions also identify the respondent and connect their site visit history to the contact record, letting you track conversions from your site.

### In this section

{% columns %}
{% column %}
{% content-ref url="/pages/eP9yesrKb2KjBrVuyyrK" %}
[Embed forms on your website](/guides/guides/forms/publish-a-form)
{% endcontent-ref %}

{% content-ref url="/pages/ZoXVS1USewCk2GKGZkqY" %}
[The Form component](/guides/guides/forms/the-form-component)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/8JrVFRe8EXwfRrNQWEIJ" %}
[Form editor: UI overview](/guides/guides/forms/ui-overview)
{% endcontent-ref %}

{% content-ref url="/pages/KExyyLdnFpnH5FWoFCaU" %}
[How to link to a form](/guides/guides/forms/how-to-link-to-a-form)
{% endcontent-ref %}

{% content-ref url="/pages/RMuw5knwAIYXmsXsdIrc" %}
[Form branching logic](/guides/guides/forms/form-branching-logic)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# How to publish a form

How to publish a form in eMarketeer — share it as a hosted URL, embed it on your website, or link to it from an email.

eMarketeer gives you three ways to share a form with respondents: a hosted URL, a website embed, and a link from inside an email.

## Open the Publish panel

Navigate to the campaign components view and click **Publish** below the form. You can also open the form editor and click **Publish** in the toolbar.

<div align="left" data-with-frame="true"><img src="/files/fuweaUtNVZQHHym871aN" alt="The Publish button below a form component in the campaign view."></div>

## Publish options

<div align="left" data-with-frame="true"><img src="/files/ICqvIMG6VpF8QEP9HqKC" alt="The Publish panel showing the hosted URL and embed script options."></div>

### Hosted URL

A shareable link to the form. The form displays as it appears in the Preview tab. Use this link to share the form directly — via social media, in a chat message, or as a link on your website.

### Embed on your website

Places the form on a web page using a script snippet. See [Embed forms on your website](/guides/guides/forms/publish-a-form) for the full setup guide.

## Link to a form from an email

To link to a form from inside an eMarketeer email, use the Insert Link method instead of the Publish panel. This creates a campaign-relative link, so copying the campaign keeps the link pointing to the correct form.

1. Open the Insert Link menu — for example by clicking the **Browse** button on a Link block.
2. Click **eMarketeer Form**.
3. Select the form from the **Choose form** dropdown. If the form belongs to a different campaign, select that campaign in **Choose campaign** first.
4. Choose an identification method:
   * **Anonymous link** — the same URL for every recipient. The respondent is not identified when they open the form.
   * **Personal link** — a unique URL per recipient. Identifies the contact when they open the form, enabling pre-filled fields and personalized content.

<div align="left" data-with-frame="true"><img src="/files/aZlh7oYggSE3wFDbVMUw" alt="The Insert Link dialog showing the eMarketeer Form option with Choose form and identification settings."></div>


# Embed forms on your website

How to embed an eMarketeer form on your website using the Form Base Script and configure its behavior after submission.

This article shows you how to embed an eMarketeer form on your website and customise how it behaves.

Once a form is embedded, any future changes you make in eMarketeer update the form on your site automatically.

## Install the base script

Before embedding your first form, install the Form Base Script. Add it to every page that will host an eMarketeer form, or to all pages on your site. You only need to do this once per website.

```
<script type="application/javascript" src="https://app.emarketeer.com/public/scripts/forms.js"></script>
```

The simplest approach is to load it in your site header on every page, or via Google Tag Manager.

Placing this script on your site does not affect your privacy policy.

## Embed a form on your website

To embed a form, get the code snippet from eMarketeer:

1. Open your form in eMarketeer.
2. Click **Publish** to reveal the code snippet.
3. Paste the code into the location on your website where the form should appear.

You can place the code inside an HTML block or equivalent, depending on your CMS.

## Translations

If your form has multiple language versions, set the display language by appending `locale` to your script.

```
<script>em_cta.render("SCRIPT-ID",{ fullPage: true, locale: "en" });</script>
```

For the full list of available locale codes, see [Form locales](/references/references/forms/form-locales).

## Prepopulate fields

To prefill visible or hidden question fields, add the following code:

```
<script>
   em_cta.render("SCRIPT-ID",{ fullPage: true, locale: "en" });
   em_cta.setValue('question1', 'My value');
   em_cta.setValue('toggle1', 'true');
   em_cta.setValue('checkboxes1', ['Item 1', 'Item 2'])
</script>
```

## Style the form

The form theme builder covers common elements but does not allow full customisation. For more control, you have two options.

### Inject styling

By default the form renders inside a ShadowDOM, so your site CSS cannot target it. You can inject styling either by referencing a stylesheet or by passing selectors directly:

```
em_cta.injectInlineStyle(':host, :host * { color: red !important; font-family: "Comic Sans MS", "Comic Sans", cursive !important; } .sd-btn { background-color: black !important; } .sd-element--with-frame { border-radius: 30px; }')

em_cta.injectExternalStyle('https://yourdomain.com/example.css')
```

### Disable the ShadowDOM

You can turn off the ShadowDOM so the form is not rendered in its own DOM. This raises the risk of style clashes with your site, but lets you style the form using your existing site CSS. To do so, append `useShadowDom: false` to your script:

```
<script>em_cta.render("SCRIPT-ID",{ fullPage: true, locale: "en", useShadowDom: false});</script>
```

### Trigger your own scripts on submit

To run your own code when a visitor submits the form, use the snippet below.

```
<script>
 em_cta.getSurvey().then(survey => {
   survey.onComplete.add(() => {
     console.log('Survey completed');
   })
 })
</script>
```

## Forms and web tracking

If you have the [eMarketeer Web Tracker](/references/references/web-tracker) installed on your website and consent is given, submitting a form also identifies the contact for future tracking and saves their historical visit history.


# The Form component

An overview of the form component editor for creating, styling, and publishing standalone and embedded forms.

The form component lets you create, style, and publish standalone forms, as well as forms embedded on your website.

To get started, watch the video below for an overview of the editor.

{% embed url="<https://www.youtube.com/watch?v=VKRJyNYDmbg>" %}


# How to link to a form

How to add a link to an eMarketeer form from a button, text, or image inside an email or webpage component.

This guide shows how to link to a form from an eMarketeer email or web page component.

You can add links to text, images, or link elements such as buttons. The steps below use a button as the example.

## Add the link

Open the button settings and click the browse button next to the URL field.

<div align="left" data-with-frame="true"><img src="/files/ipcCknaxAtwpzDZRTs0N" alt="The link configuration panel for a button."></div>

\[

<div align="left" data-with-frame="true"><img src="/files/PshoZZSlG5SpJ2tSXY4G" alt="The browse dialog opened from the URL field."></div>

Click "link to eMarketeer form."

{% hint style="info" %}
If you are linking to a legacy form, click **Form (Legacy)** instead.
{% endhint %}

<div align="left" data-with-frame="true"><img src="/files/EMCq9F7yLG5bWVSo8dvy" alt="The form link options dialog."></div>

## Choose the link options

The final step gives you a few options. Pick the best fit for your use case.

**Choose campaign:** link to a form outside the campaign you are currently working on. Leave this as is to use a form from the current campaign.

**Choose form:** the form the button links to.

**Choose identification:** create either an anonymous link or a personal link. An anonymous link is the same for every contact who receives the email. A personal link is unique to each recipient.

The identification choice matters because a personal link identifies the respondent when the form is opened, which lets the form prefill contact data you already have. Some features — such as "Allow only one answer per visitor" in the form publish settings — work best with a personal link.

Click "Select -> Apply -> Save."

## Why use this method

Linking through this dialog creates a link that is relative to the campaign. If you copy the campaign, the new copy still links to its own internal form — you do not have to manually update the URL.


# Form editor: UI overview

A reference guide to the form editor interface — tabs, toolbox, question types, and configuration options.

The form editor has six tabs: Designer, Preview, Themes, Logic, JSON Editor, and Translation. This article explains what each tab does and what question types are available.

<div align="left" data-with-frame="true"><img src="/files/Hsxk0kWbatG4vl8gMaBW" alt="The form editor showing the six tabs: Designer, Preview, Themes, Logic, JSON Editor, and Translation."></div>

## Designer tab

The Designer tab is where you build your form. It has three main areas: the Toolbox on the left, the design surface in the center, and the Property Grid on the right.

<div align="left" data-with-frame="true"><img src="/files/5kCrfvcg4nhk7p8VW1Og" alt="The Designer tab with the Toolbox on the left, design surface in the center, and Property Grid on the right."></div>

### Toolbox

The Toolbox lists every question type and structural element you can add to your form. Drag an item from the Toolbox onto the design surface, or click it to add it at the end of the current page.

### Question types

<details>

<summary>Contact fields</summary>

**Contact Field** A single-line input mapped to a specific field on the contact card. Use it when you want form responses to update the respondent's contact record in eMarketeer.

Data submitted through a Contact field is saved both as form answer data and as contact record data. It overwrites any existing value on the contact card.

A form that includes a **Contact field: Email** will create a new contact or match against an existing one when the form is submitted.

Contact fields are pre-populated from the contact database if the respondent is known — for example, when they open the form through a personalized link.

Available fields: Email, First Name, Last Name, Salutation, Company, Title, Phone number, Mobile phone, Address 1, Address 2, City, State, Zip code, Country, Note.

<div align="left" data-with-frame="true"><img src="/files/W7qgLmBpS01TuXswYMth" alt="The Contact fields question type on the design surface."></div>

**Custom Contact Field** Works the same way as Contact Field, but maps to your account's custom contact fields instead of the default contact card fields.

</details>

<details>

<summary>Single-choice questions</summary>

**Radio button group** Displays a list of options. Respondents select one.

<div align="left" data-with-frame="true"><img src="/files/xULooz6quo4riEKPBgdv" alt="A radio button group question on the design surface."></div>

**Dropdown** A single-select dropdown list. Useful when the option list is long or you want to save space on screen.

<div align="left" data-with-frame="true"><img src="/files/Ama7Ru3mNZgV5yipKe7O" alt="A dropdown question on the design surface."></div>

**Yes/No (Boolean)** A toggle that returns true or false. Renders as a switch, radio button pair, or checkbox depending on your theme settings.

<div align="left" data-with-frame="true"><img src="/files/n4HvqsX4a2GOpLt8q1i9" alt="A Yes/No (Boolean) question on the design surface."></div>

</details>

<details>

<summary>Multiple-choice questions</summary>

**Checkboxes** Displays a list of options. Respondents can select more than one.

<div align="left" data-with-frame="true"><img src="/files/jWv6Ce9xrSLoSiprtCot" alt="A checkboxes question on the design surface."></div>

**Multi-select dropdown** A dropdown that allows multiple selections.

<div align="left" data-with-frame="true"><img src="/files/apKjGRZaO7zWrYpyQbHK" alt="A multi-select dropdown question on the design surface."></div>

</details>

<details>

<summary>Rating and ranking</summary>

**Rating scale** A numeric range respondents use to rate something. You can replace the numeric labels with star or emoji icons.

<div align="left" data-with-frame="true"><img src="/files/WcCGaJHsEsbIeq1RmE4r" alt="A rating scale question on the design surface."></div>

**Ranking** A drag-and-drop list that lets respondents order items by preference.

<div align="left" data-with-frame="true"><img src="/files/IHZ1HjwXm73RSEZhkXcK" alt="A ranking question on the design surface, showing drag-and-drop reordering."></div>

</details>

<details>

<summary>Text input</summary>

**Single-line input** A one-line text field. Also accepts numbers and dates.

<div align="left" data-with-frame="true"><img src="/files/9PAWoscG0MoRquAiqMkq" alt="A single-line input question on the design surface."></div>

**Long text** A resizable multi-line text area for longer answers.

<div align="left" data-with-frame="true"><img src="/files/GE2L96NvFzIlAxVBlMP3" alt="A long text question on the design surface."></div>

**Multiple text boxes** Several single-line fields grouped together. Useful when you need a set of short answers under one question.

</details>

<details>

<summary>Image picker</summary>

Displays a series of images. Respondents click one (or more, if configured) to select it. Each choice has an associated value.

</details>

<details>

<summary>Matrix questions</summary>

**Single-select matrix** A grid with rows and columns. Each row is a statement or item; respondents select one column choice per row using radio buttons.

<div align="left" data-with-frame="true"><img src="/files/Ban8XeQ7jDMWoNZ0FIiv" alt="A single-select matrix question on the design surface."></div>

</details>

<details>

<summary>Presentation elements</summary>

**HTML** A block of formatted text you write directly in the editor. Use it for instructions, headings between question groups, or any non-interactive content.

**Image** Embeds a static image or video in the form. Respondents cannot interact with it.

**Expression** Displays a calculated value — a sum, average, or concatenation of other answers. Useful on the final page to summarize what the respondent submitted.

<div align="left" data-with-frame="true"><img src="/files/DtWOBribs7TQ0J1DphuI" alt="An expression question on the design surface, showing a calculated value updating in real time."></div>

</details>

<details>

<summary>Structure elements</summary>

**Panel** A container that groups questions together visually. Panels can be collapsible and can have their own title and description.

**Dynamic panel** A repeating panel template. Respondents can add or remove panel instances, which makes it useful for variable-length entries such as multiple contacts or order lines.

<div align="left" data-with-frame="true"><img src="/files/i81B7QZ7wybrRjqJlUYD" alt="A dynamic panel on the design surface showing multiple panel instances."></div>

</details>

<details>

<summary>Consent</summary>

**Consent** Stores consent on the identified contact. Use the **Consent Type** dropdown to set the purpose: **Store & Process** or **Marketing**. Consent questions are not required by default — set them to required if the contact must consent before submitting.

<div align="left" data-with-frame="true"><img src="/files/9RU3G0vB88M871JwyezK" alt="Two Consent questions on the design surface, one for each purpose — Store &#x26; Process and Marketing."></div>

</details>

<details>

<summary>Captcha</summary>

**Captcha** Adds an "I'm not a robot" checkbox to the form. The label is translated to the form's set language. The captcha is required, and a form cannot be saved without it.

<div align="left" data-with-frame="true"><img src="/files/9vZdqUuwsXLryBZJKOF4" alt="A Captcha &#x27;I&#x27;m not a robot&#x27; checkbox on the design surface."></div>

</details>

### Adding a question

To add a question, drag it from the Toolbox onto the design surface. You can also click the **Add Question** button at the bottom of a page to insert a single-line input. Click the ellipsis icon next to the button to choose a different type before inserting.

<div align="left" data-with-frame="true"><img src="/files/5VtU3qC6LZSSpIEXzSAe" alt="The Add Question button and ellipsis type selector at the bottom of a page."></div>

### In-place editing

When you click a question on the design surface, inline editing controls appear directly on it. You can edit the question text, reorder choices, duplicate the question, delete it, or mark it as required — without opening the Property Grid.

<div align="left" data-with-frame="true"><img src="/files/VF6NBDyIWFzJErdZxHB4" alt="A question on the design surface with inline editing controls visible."></div>

### Property Grid

The Property Grid on the right side of the editor shows configuration options for the currently selected question, page, or form. Options are grouped into categories.

To set a default answer for a question, select it, open the **Data** category in the Property Grid, and click **Set Default Answer**.

<div align="left" data-with-frame="true"><img src="/files/JzpnsTezCRXplvw9VAXK" alt="The Property Grid showing the Data category with the Set Default Answer option."></div>

### Page management

A form can have multiple pages. To add a page, select the form, open the **Survey** category in the Property Grid, go to **Pages**, and click **Add new page**. You can also drag a question onto the skeleton page at the bottom of the design surface — this creates a new page automatically.

### Changing question type

To change a question to a different type, use the type selector in the question's toolbar on the design surface. Some conversions lose data — for example, converting a Dropdown to a Single-line input removes the choice list. Undo is available if you want to revert.

## Preview tab

The Preview tab shows the form as a respondent sees it. Fill it in and submit to see how the response data is recorded. After submitting, results appear in a table or as raw JSON. Click **Preview Survey Again** to restart.

Use the device selector to preview on different screen sizes and the orientation toggle to switch between portrait and landscape.

<div align="left" data-with-frame="true"><img src="/files/KFrzwO7fXGpSi4CYvkfj" alt="The Preview tab with the device selector and orientation toggle."></div>

## Themes tab

The Themes tab lets you change the form's appearance — colors, fonts, sizes, corner radius, shadows, and other visual properties.

You can export a custom theme as a JSON file and import it on another form to reuse the same style.

For a full walkthrough, see [Styling your form](/guides/guides/forms/styling-your-form).

<div align="left" data-with-frame="true"><img src="/files/RHR5D1qTdXi0gPBvalcn" alt="The Themes tab showing the style controls panel."></div>

## Logic tab

The Logic tab is where you define conditional rules that control form behavior — for example, showing a question only when a previous answer meets certain criteria.

### Adding a rule

Click **Add New Rule**. Each rule has a condition (if) and one or more actions (then).

**Conditions** — select a question and a logical operation (equals, is empty, contains, and so on). Combine multiple conditions using AND or OR. Use **Manual Entry** to type an expression directly.

**Actions** — what happens when the condition is true. Available actions:

* Show or hide a page or question
* Enable or disable a page or question
* Mark a question as required
* Complete the form
* Set a question's answer
* Copy an answer from one question to another
* Skip to a specific question
* Run a custom expression
* Set the content of the completion page

To edit a rule, click it to expand it, make changes, and click **Done**. Use the Question Filter and Action Type Filter to narrow the list when a form has many rules.

<div align="left" data-with-frame="true"><img src="/files/mOaeRQOl4R9qAHuglcMV" alt="The Logic tab with a rule expanded, showing the condition and action editors."></div>

## JSON editor tab

The JSON Editor tab shows the raw JSON configuration of your form. You can edit it directly, but for most changes the Designer tab and Property Grid are easier.

<div align="left" data-with-frame="true"><img src="/files/xKJzuNVaEIzgBiGyjqOR" alt="The JSON Editor tab showing a form&#x27;s raw JSON configuration."></div>

## Translation tab

The Translation tab lists all translatable strings in your form. Use it to provide text in multiple languages so respondents can switch between them.

**Adding a language** — open Language Settings and click **Add** to select a language from the list.

**Filtering** — use the Page Filter to show strings from a specific page. Enable **Used Strings** to show only strings that have been translated.

**Import and export** — use the toolbar buttons to import or export translations as a CSV file.

<div align="left" data-with-frame="true"><img src="/files/jC53wldU4e4rhRtVPaYG" alt="The Translation tab showing the language settings panel and translation string table."></div>


# Form branching logic

How to use skip logic, show/hide conditions, and complete-survey triggers to create adaptive forms in eMarketeer.

Branching logic lets you design forms that adapt based on each respondent's answers. Instead of showing every question to every respondent, you direct people along different paths — skipping irrelevant sections, revealing follow-up questions, or sending them to the thank-you page early.

The form editor supports three types of branching logic:

* **Skip logic** — jump to a specific question when a condition is met.
* **Show/hide logic** — reveal or hide a question, panel, or page based on an answer.
* **Complete survey logic** — end the form early and show the thank-you page when a condition is met.

All branching rules can be configured through the **Conditions** section of the Property Grid, or reviewed and managed together in the **Logic** tab. When you write conditions by hand instead of using the visual editor, see [Form expression syntax](/references/references/forms/form-expression-syntax) for the full operator and function reference.

## Skip logic

Skip logic jumps respondents ahead to a specific question when an expression evaluates to true. Use it when you want to bypass a block of questions based on what someone answered earlier.

Skip logic is configured using **triggers** at the survey level.

### Set up skip logic

1. In the Property Grid, click **Survey** at the top to open survey-level settings.
2. Switch to the **Conditions** category.
3. Under **Triggers**, click the **+** icon to add a new trigger.
4. Select **Skip to question** from the trigger type dropdown.
5. Click the pen icon to expand the trigger settings.
6. Set the expression that should trigger the skip. Type it directly into the **Expression** field, or click the magic wand icon to build the expression using the visual editor. Click **Apply** when done.
7. In the **Question to skip to** dropdown, select the destination question.

## Show/hide logic

Show/hide logic (also called display logic) reveals or hides a question, panel, or page based on a condition. It is the most flexible form of branching and works well for individual follow-up questions, related groups of questions in a panel, or entire pages.

You can set show/hide conditions on any question, panel, or page through its **Conditions** settings in the Property Grid.

### Set up show/hide logic

1. Select the question, panel, or page you want to conditionally show or hide.
2. In the Property Grid, switch to the **Conditions** category.
3. Locate the **Make the question/panel/page visible if** field.
4. Click the magic wand icon to open the visual expression editor.
5. Select the question whose answer should control visibility.
6. Choose a condition operator: **Empty**, **Not empty**, **Equals**, **Does not equal**, **Any of**, **Greater than**, **Less than**, **Greater than or equal to**, or **Less than or equal to**.
7. Enter or select the answer value that should trigger the condition.
8. Click **Apply**.

The element stays hidden until the condition is met. If the respondent goes back and changes their answer so the condition is no longer true, the element is hidden again.

{% hint style="info" %}
A question that is hidden by display logic cannot be required at the same time. If a required question is hidden, the required setting is ignored.
{% endhint %}

## Complete survey logic

Complete survey logic ends the form early and takes the respondent to the thank-you page when a specific condition is met. Use it when certain answers mean there is nothing more for a respondent to fill in.

Like skip logic, this is configured using triggers at the survey level.

### Set up complete survey logic

1. In the Property Grid, click **Survey** at the top to open survey-level settings.
2. Switch to the **Conditions** category.
3. Under **Triggers**, click the **+** icon to add a new trigger.
4. Select **Complete survey** from the trigger type dropdown.
5. Click the pen icon to expand the trigger settings.
6. Set the expression that should complete the survey. Type it directly into the **Expression** field, or click the magic wand icon to build the expression using the visual editor. Click **Apply** when done.

## Managing all branching rules in the Logic tab

The **Logic** tab gives you a single view of every conditional rule in your form. All rules defined in individual Conditions sections — skip triggers, show/hide conditions, and complete-survey triggers — are listed here.

Use the Logic tab to:

* Review all branching rules in one place.
* Edit or delete individual rules without navigating to each element.
* Add new rules directly without opening a specific question's settings.

To open the Logic tab, click **Logic** in the editor's top tab bar.


# Styling your form

How to style your form in the Themes tab — apply a theme, adjust colors and fonts, design the header, and set a background, all without code.

Style your form to match your brand using the **Themes** tab in the form editor. You change colors, fonts, sizing, corner radius, shadows, and more — without writing any code.

This guide walks through the theming options, from applying a ready-made theme to fine-tuning the header and background. For a tour of the whole editor, see [Form editor: UI overview](/guides/guides/forms/ui-overview).

{% hint style="info" %}
You cannot add custom CSS through the Themes tab, so you are limited to the options it offers. A form embedded on your website, however, can have styling injected when it's called. To read more, see [Embed forms on your website](/guides/guides/forms/publish-a-form#style-the-form).
{% endhint %}

## About form themes

A theme is a collection of visual settings that apply across your whole form — colors, fonts, spacing, and shape. The Themes tab gives you a no-code interface to adjust those settings, start from a preset, and save the result.

<div align="left" data-with-frame="true"><img src="/files/ejDE1gjHdbPcxN96iKmH" alt="The Themes tab open in the form editor, showing the theme settings panel."></div>

{% hint style="info" %}
You can export a custom theme as a JSON file and import it on another form to reuse the same style, keeping a consistent look across every form you build.

You can also turn a finished form into a template from the Campaign Components view. Templates act as starting points when you create new forms. Making templates is available to users with the Developer role.
{% endhint %}

## Choose and apply a theme

The fastest way to restyle a form is to pick a different theme.

Open the **Theme** dropdown under the **General** category and select one of the presets. Each preset comes in several variations, including compact and dark versions, so you have a wide range of starting points.

<div align="left" data-with-frame="true"><img src="/files/qj4nGkS7PBSXDdRbiiPS" alt="The Theme dropdown under the General category listing the available theme presets."></div>

Applying a theme is a starting point, not a commitment — you can adjust any individual setting afterwards.

## Enable dark mode

Dark mode suits low-light viewing and pairs well with darker brand palettes.

Set the **Light / Dark** toggle to **Dark** to switch the form to a dark color scheme.

<div align="left" data-with-frame="true"><img src="/files/35ADxFyagcnKvhSJh4cO" alt="The Light and Dark toggle switched to Dark."></div>

## Show questions without boxes

By default, each question sits in its own box. You can remove these boxes for a lighter, more open look.

Under the **General** category, set **Question appearance** to **Without Panels**. The boxes around individual questions disappear.

<div align="left" data-with-frame="true"><img src="/files/sx72oobCIajSQcS3S3so" alt="Form questions each shown inside their own box."></div>

<div align="left" data-with-frame="true"><img src="/files/ievRul3hIAcoi67p8Zpa" alt="The same form questions shown without individual boxes."></div>

Panels (groups of questions) keep their own borders, so grouped questions stay visually contained even when individual boxes are off.

## Style the form header

The header is the area at the top of the form that holds your logo, title, and description. You can style each part.

### Add a logo

To add your logo to the header:

1. Switch to the **Designer** tab.
2. Open **Logo** in the **Survey Header** category.
3. Paste an image link in the **Survey logo** field, or click the folder icon to upload a file.
4. Optionally set **Logo width** and **Logo height** (in CSS units) to resize it.
5. Choose a **Logo fit** option: None, [Contain](#contain), [Cover](#cover), or [Fill](#fill).

<div align="left" data-with-frame="true"><img src="/files/ssv78xVfHo1CCSJP0PB3" alt="The logo upload field and sizing options in the Survey Header category."></div>

To position the logo, switch to the **Themes** tab, open the **Header** category, and set the **Logo alignment** property.

<div align="left" data-with-frame="true"><img src="/files/hg0Eb2VOz1tF0wWyYmT3" alt="The Logo alignment property in the Header category."></div>

### Title and description

The title and description sit alongside the logo in the header. The following settings live under the **Header** category in the **Themes** tab.

#### Adjust text width

Use the **Text width** property to set how much of the header area the title and description occupy.

<div align="left" data-with-frame="true"><img src="/files/uvUWEhTsoaaPAYMU3Fnk" alt="The Text width property that controls the header text area."></div>

#### Customize fonts

Find the **Survey title font** and **Survey description font** sections. For each, you can set:

* **Font family** — choose from the dropdown.
* **Font weight** — Regular, Semi-bold, Bold, or Heavy.
* **Color** — pick a color or enter an RGB, HEX, or HSL value.
* **Opacity** — set the percentage next to the color.
* **Font size** — set the size in pixels.

<div align="left" data-with-frame="true"><img src="/files/wQRO1USetjudugOqexAW" alt="Font family, weight, color, opacity, and size controls for the title and description."></div>

#### Align text

Use the **Survey title alignment** and **Survey description alignment** properties to set the horizontal and vertical position of each.

<div align="left" data-with-frame="true"><img src="/files/FZPgYdGktdxT5B89XVtk" alt="The alignment controls for the survey title and description."></div>

### Customize the header area

Switch the **View** toggle to **Advanced** to reveal the full set of header-area settings.

* **Height** — set the header height on desktop.
* **Height on smartphones** — set the header height on mobile.
* **Background color** — choose None, [Accent](#accent), or Custom (with a color picker).
* **Background image** — paste a link or upload a file, then set the display style (Cover, [Stretch](#stretch), Contain, or [Tile](#tile)), the opacity, and whether the header content overlaps the image.

<div align="left" data-with-frame="true"><img src="/files/n3BKVcYyUQHkzVJ2wIOO" alt="The Height and Height on smartphones properties for the header."></div>

<div align="left" data-with-frame="true"><img src="/files/pummziBJFiJbLNtHNkmm" alt="The header Background color options: None, Accent, and Custom."></div>

<div align="left" data-with-frame="true"><img src="/files/FOu7Z84DJPdJKI90BVBj" alt="The header Background image settings with display, opacity, and overlap controls."></div>

### Adjust the header content area

With the **View** toggle set to **Advanced**, use the **Content area width** property to choose whether the header content matches the survey width or the container width.

<div align="left" data-with-frame="true"><img src="/files/v5cc5XBLHYUmOATN8lj6" alt="The Content area width property in the advanced header settings."></div>

## Background options

You can style the background behind the whole form, not just the header.

Under the **Background** category:

* **Background color** — pick a color, or enter an RGB, HEX, or HSL value.
* **Background image** — paste a link or click the folder icon to upload a file.
* **Image display** — choose [Auto](#auto), Contain, or Cover.
* **Image position** — toggle between Fixed and Scroll.
* **Opacity** — set how transparent the background appears.

<div align="left" data-with-frame="true"><img src="/files/INQrK8CZmAx7QnkJlCMb" alt="The form Background settings: color, image, display style, position, and opacity."></div>

## What to do next

For a tour of the other editor tabs, see [Form editor: UI overview](/guides/guides/forms/ui-overview).

To style a form embedded on your website with your own CSS, see **Style the form** in [Embed forms on your website](/guides/guides/forms/publish-a-form#style-the-form).

## Reference

These options appear in several places across the Themes tab. Here is what each one means.

<details>

<summary>Accent</summary>

A color defined in the theme's appearance settings. It is applied to accented elements throughout the form, such as button colors and the border on a focused field.

</details>

<details>

<summary>Auto</summary>

Displays the image at its natural size, without scaling it to fit its area.

</details>

<details>

<summary>Contain</summary>

Scales the image to fit entirely within its area while keeping its proportions. May leave empty space around it.

</details>

<details>

<summary>Cover</summary>

Scales the image to fill its area while keeping its proportions. May crop the edges.

</details>

<details>

<summary>Fill</summary>

Stretches the image to fill its area, ignoring its proportions. May distort the image.

</details>

<details>

<summary>Stretch</summary>

Stretches the image to fill its area, ignoring its proportions. Has the same effect as Fill.

</details>

<details>

<summary>Tile</summary>

Repeats the image across its area until the space is filled.

</details>


# Forms (Legacy)

Guides for Form (Legacy), the previous form editor in eMarketeer.

{% hint style="warning" %}
Form (Legacy) will be deprecated. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

Form (Legacy) is the previous form editor in eMarketeer. If you are still using it, the guides below cover how to configure and manage legacy forms.

{% columns %}
{% column %}
{% content-ref url="/pages/2iC2lJFkrtyLNLGSJUED" %}
[Creating your first form (Legacy)](/guides/guides/legacy/basics-creating-form)
{% endcontent-ref %}

{% content-ref url="/pages/MqFLbWzxAvqFNkeHWwsj" %}
[Editing a live form](/guides/guides/legacy/editing-a-live-form)
{% endcontent-ref %}

{% content-ref url="/pages/CABRqFE1kXqGMpdAjam4" %}
[Question branching and display rules](/guides/guides/legacy/question-branching-display-rules)
{% endcontent-ref %}

{% content-ref url="/pages/MkHBFjJO7wCLA9itYnDG" %}
[Scan event attendance with a phone](/guides/guides/legacy/scan-attendance-phone)
{% endcontent-ref %}

{% content-ref url="/pages/0Z8EwHtyGyaOGQ06EkFz" %}
[Event attendance QR code (advanced)](/guides/guides/legacy/advanced-event-qr-code)
{% endcontent-ref %}

{% content-ref url="/pages/eiJxlBNRraVitaV2xBJt" %}
[Post data to a form](/guides/guides/legacy/how-to-post-data-to-a-form)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/PEAKOPALj3IGiD2jkYjv" %}
[Phone number validation](/guides/guides/legacy/form-phone-number-validation-re)
{% endcontent-ref %}

{% content-ref url="/pages/UnsEaeTa7XVT1TNIIzC5" %}
[Max answers for a checkbox](/guides/guides/legacy/max-answers-form-checkbox)
{% endcontent-ref %}

{% content-ref url="/pages/t20pHpDeJU99hy9SmPKT" %}
[Remove a form answer](/guides/guides/legacy/removing-a-form-answer)
{% endcontent-ref %}

{% content-ref url="/pages/bn9l4ppuDo4dEQBEd07Z" %}
[Close a form](/guides/guides/legacy/close-a-form)
{% endcontent-ref %}

{% content-ref url="/pages/46n6trpyrPEKYLeBDzZ3" %}
[Website integration requirements](/guides/guides/legacy/website-integration-requirements)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# Creating your first form (Legacy)

A step-by-step guide to creating a Legacy Form in eMarketeer, from setup through the thank-you page and optional confirmation email.

{% hint style="danger" %}
This guide is for the Legacy version of Forms, which will be deprecated. Some customers do not have access to this component.
{% endhint %}

{% hint style="warning" %}
To create a new Legacy Form it is required that you create a campaign first. If you don't have a campaign ready, see [How to create a new campaign](/getting-started/campaign-basics/create-new-campaign).
{% endhint %}

This guide walks you through creating a Legacy Form in eMarketeer — for an event signup, newsletter signup, or any other use.

By the end you will have a working form with a thank-you page and an optional confirmation email.

{% stepper %}
{% step %}

### Add the form from the campaign page

From the campaign where you want to create the form, click **Add Form**.

<div align="left" data-with-frame="true"><img src="/files/n9rzc9KNKoe600kYCAgV" alt="Add Form button on the campaign page"></div>
{% endstep %}

{% step %}

### Fill in settings, choose a template, create the form

<div align="left" data-with-frame="true"><img src="/files/D6qiQ9tmdajKNV3wK6cU" alt="Form settings and template selection dialog"></div>

**Settings**

* **Name your form:** Give the form a unique name so you can find it later. Describe its purpose in the campaign — for example, "Registration" for a registration form. Only you see this name; it is not shown to visitors.

**Template**

Pick a template from one of the tabs as a starting point for the design. This guide uses **Sign-up Basic** from the **Sign-Up Forms** tab. Custom templates saved on your account appear under **My Templates**.

**Create form component**

Once settings and template are set, click **Create Form** to create the component.
{% endstep %}

{% step %}

### The form editor

After you click **Create Form**, the editor opens. The left-side menu lets you add form items, access tools, and change settings. The rest of the page shows the form content, imported from the template.

The content is made up of content blocks called form items, which you edit individually in the following steps.

<div align="left" data-with-frame="true"><img src="/files/GoQKDK3tBuupQD3oa6mY" alt="Form editor with form items and left-side menu"></div>
{% endstep %}

{% step %}

### Change the introduction text

The first form item in most templates is a Rich Text block where you can introduce the form or add relevant information such as dates, times, and locations.

To edit any form item, either click its **Edit** button or double-click the block itself. A popup opens where you can change the text, questions, or answers.

<div align="left" data-with-frame="true"><img src="/files/PsSHGLyOoAUjV9c2c1de" alt="Editing a Rich Text block"></div>
{% endstep %}

{% step %}

### Adjust the Registration block

The Registration block is the most important block in any form that is not collecting anonymous answers. It saves the visitor's contact information with their submission and matches it against your eMarketeer contact database — updating an existing contact card or creating a new contact if none exists.

<div align="left" data-with-frame="true"><img src="/files/MSi1ZqcOmTg8aD4YnOI2" alt="Registration block options with contact field selectors"></div>

What you can ask for in the Registration block is tied to the fields on a contact card. You choose which fields to ask for and which are required. The Registration block always asks for the visitor's email address, because it is a required field on a contact card.
{% endstep %}

{% step %}

### The most commonly used form items

This step covers the basic question types to get you started.

* **Radio button:** A question with multiple pre-defined answers where the visitor picks *one*.
* **Checkbox:** A question with multiple pre-defined answers where the visitor can pick *several*.
* **Textbox:** A question where the visitor can write any text answer. Use this for longer answers.
* **Multi Text:** A form item with several short text questions. Use this for short answers.
* **Consent:** A checkbox with text of your choosing. Selecting it updates the Consent setting on the visitor's contact card — useful when you need explicit consent to store contact information.

You can find these question types in the Add Form Item menu in the top-left of the form editor.
{% endstep %}

{% step %}

### Set up the thank-you page

After a visitor submits, they are redirected to the thank-you page to confirm their answer was saved. The default thank-you page contains a single text block, which you can edit to fit your form. Open the thank-you page settings by clicking **Thank You Page** in the left-side menu.

<div align="left" data-with-frame="true"><img src="/files/hbmZ9F0ZatTb4hKTQAWb" alt="Thank-you page settings with hosted page and custom URL options"></div>

You have two options: a hosted thank-you page or a custom URL. The hosted page is the default — change the text and you are done. Use a custom URL if you want to redirect visitors to a specific page, such as one on your own website.

To edit the text shown on the hosted page, click **Edit** as shown above.
{% endstep %}

{% step %}

### Use a confirmation page (optional)

We do not recommend using this feature unless you need it, but for longer surveys you may want to let visitors review their answers before submitting. The confirmation page shows their answers and gives them a choice: **Edit** their answers or **Finish** to submit.

<div align="left" data-with-frame="true"><img src="/files/lwwddgBgiFdHd6yVGzdk" alt="Confirmation page settings with Edit and Finish options"></div>

When active, the confirmation page appears after the visitor proceeds from the form. The visitor must click **Finish** to confirm. They are then redirected to the thank-you page and, if configured, sent a confirmation email.
{% endstep %}

{% step %}

### Configure a confirmation email (optional)

Confirmation email settings let you send a copy of each submission to a specified email address, and send a copy of the answers back to the person who submitted them.

<div align="left" data-with-frame="true"><img src="/files/YQkp7znbxPt9NXnsNFQ5" alt="Confirmation email settings with sender and subject fields"></div>

Options:

* **Activate Confirmation Email:** Turn the feature on for this form.
* **Send to responding contact:** Send the contact a confirmation with their answers.
* **Send to specific e-mail:** Send a copy of every submission to yourself or a colleague.
* **Add Edit Link in e-mail:** Let the contact go back and edit their answers later. Not recommended in most cases.
* **Sender Name:** The sender name shown in the recipient's email client.
* **Sender E-mail Address:** The sender address shown in the recipient's email client.
* **Email Subject:** The subject line shown in the recipient's email client.
  {% endstep %}

{% step %}

### Publish your Legacy Form

Once your Legacy Form is ready, you have a few options for sharing it.

<div align="left" data-with-frame="true"><img src="/files/Hv45J1nTMn1uTkAy5Rpw" alt="Publishing page with Direct URL, Website Integration, and E-mail options"></div>

* **Direct URL:** A direct link to the form. Share it with colleagues, post it on social media, or link it from your website. When you click this option, a popup shows the link — copy it from the popup. Do not visit the link and copy from your browser address bar: each visitor gets a unique URL meant only for them.
* **Website Integration:** HTML code and scripts to embed the form on your own website. Our support cannot always help with issues here because it is implemented outside eMarketeer. Skip this option unless you are comfortable with this kind of integration.
* **E-mail:** Link to the form from an email. See the linking section in [Creating your first email](/getting-started/campaign-basics/basics-creating-email).
  {% endstep %}
  {% endstepper %}


# Editing a live form

Which edits are safe on a form that already has answers, and which changes can affect existing reports.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

Editing a form that already has answers can change what those answers mean, so it pays to know which edits are safe and which are not.

A form is "live" once answers are registered to it and reports are tied to those answers. Reports are linked to the questions in the form, so any change in the form editor is reflected in the report.

## How answers are stored

Take a question like this:

What's your favorite pet?

* Dog
* Cat
* Fish
* Rat

If someone answers "Cat," eMarketeer does not store the text "Cat." It stores "option number 2."

This means editing a question on a live form can change what "option number 2" means. Removing a question removes it from the report along with the related answers.

## Edits that affect existing reports

* Editing the text of an option or rearranging options changes the meaning of answers already registered.
* Removing an option behaves like rearranging — it shifts the option numbers.
* Deleting a question also removes the answers to it.
* Cutting and pasting a question is the same as deleting it and creating a new one.

## Edits that do not affect reports

* Changing the order of entire questions (not options).
* Editing non-question items such as rich text.
* Editing rules, thank-you pages, or confirmation pages.
* Editing layout.


# Question branching and display rules

How to branch form questions to different pages or show and hide questions on the same page based on a respondent's previous answer.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

Branch form questions or hide them until they are relevant by using rules on form questions.

There are two primary approaches:

1. Branch to different pages of questions based on an answer, by skipping to a specific page.
2. Show or hide questions on the same page based on an answer, by using display options.

## Skip to Page

Skip to Page is easier when each branch has many questions.

The rule changes which page the visitor lands on when they click Next Page. In this hypothetical scenario, a form asks about two meetings. Each visitor attended one, and the questions differ depending on which.

To set this up, use a radio button question where each answer has a Skip to Page rule. Questions about Meeting A live on page 2, questions about Meeting B on page 3.

<div align="left" data-with-frame="true"><img src="/files/lPyidYLE1klYLw2Vjl0p" alt="Radio button question with Skip to Page rules routing each answer to a different page"></div>

The selected answer moves the visitor to the matching page. To stop a visitor sent to page 2 from continuing into the Meeting B questions on page 3, double-click the Next Page button on page 2 and set it to skip ahead to page 4.

<div align="left" data-with-frame="true"><img src="/files/v7qK93Yq5aGLHOq5kF1T" alt="Next Page button configured to skip from page 2 directly to page 4"></div>

## Question Display Rules

Display rules suit small branching sets, or single-page forms. They show or hide a question based on the visitor's earlier answer.

In this hypothetical scenario, a form asks about two meetings, and a visitor may have attended one or both. Questions for each meeting should appear only for visitors who attended that meeting, and all questions should appear if both were attended.

Use a checkbox question where the visitor selects Meeting A, Meeting B, or both. Add the meeting-specific questions after it, then open each one's rules and configure its display settings. In this example, the Meeting A question is set to show only when that option is selected on the preceding checkbox question.

Display rules are configured per question and support multiple answers — or combinations of answers — on the preceding question. Checkbox answers are not mutually exclusive, so with more than two options you can show a question only for specific combinations.

<div align="left" data-with-frame="true"><img src="/files/EpFMVWTZBgbLz72fWBjF" alt="Display rule configured on a question, set to show only when a specific checkbox answer is selected on the preceding question"></div>

A question cannot be both required and hidden. If a question has active display rules, the required setting is ignored.


# Scan event attendance with a phone

How to use a mobile phone to scan attendee QR codes and register event attendance by submitting email addresses through an eMarketeer form.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

Use a mobile phone to register attendance on site at physical events by scanning attendee QR codes.

Attendance is registered by submitting an email address through an eMarketeer form. Instead of typing each visitor's email, you use a phone with a QR-code keyboard app to scan their code from the event app.

The example below uses these event components.

<div align="left" data-with-frame="true"><img src="/files/AJhC2QRWOaKjlYhbzLCa" alt="Event component overview"></div>

* **Invitation email.** Send your invitation to the audience you want at your event.
* **Registration form.** Where your audience registers for the event. Ask for mobile phone number.
* **App delivery and mobile app.** Create an app for your event to keep all event information in attendees' pockets. Enable the QR code. The "App Delivery" is an SMS with a link to the app; send it to everyone who registered.
* **Scan form.** The form used to register attendees. It is built to accept an email address and return to the register page after submit. Create it by adding a "New Form" and choosing the "Event Barcode Scan" template.

<div align="left" data-with-frame="true"><img src="/files/Y5vBy0uZwclEQtJzGyTq" alt="Form list with the Event Barcode Scan template"></div>

### Register attendance

On the day of the event, your visitors arrive with their mobile event app showing a barcode to be scanned.

<div align="left" data-with-frame="true"><img src="/files/CmUX5ax2KI1eriwKIwvX" alt="Mobile event app showing a barcode"></div>

#### Preparations

Before you can scan QR codes you need a keyboard app on your phone.

[You find the app here](https://www.socketmobile.com/readers-accessories/product-families/socketcam/get-started)

*Note: this app is not an eMarketeer product. Other "QR code keyboard" apps are available. For example,* [*this app*](https://play.google.com/store/apps/details?id=com.nikosoft.nikokeyboard) *for Android and* [*this app*](https://apps.apple.com/us/app/scankey-qr-ocr-nfc-keyboard/id1356206918) *for iPhone.*

Installing the app adds a new keyboard to your phone. It works like a normal keyboard but can also scan barcodes.

#### Scanning attendance

Get the web URL for the "Event Barcode Scan" form in your eMarketeer campaign and open it on your phone.

<div align="left" data-with-frame="true"><img src="/files/UL8UWxaxouFNug3Q2isl" alt="Scan form open on a mobile phone"></div>

To scan a badge:

1. Tap the text field in the form so the keyboard opens. Switch to the new keyboard with QR scan.
2. Tap the barcode scan icon (top right). Your camera opens — scan the barcode.
3. The form submits automatically and shows the contact details of the scanned person.
4. After a few seconds the screen returns to scan another person. Repeat from step 1.

Each scanned badge becomes a form submission from a known contact in eMarketeer. You know exactly who attended and can follow up based on who was registered.

Once attendees are scanned you can also:

* Send evaluations only to attended registrants.
* Create journeys based on being scanned — for example, an SMS welcome with tips.
* Reach out during the event using SMS with relevant information, such as "Don't forget your goodie bag."

### Alternative scanning setup (advanced)

You can generate form-specific QR codes for registering attendees that can be scanned with any smartphone camera app. This requires more planning and configuration. See [this article](/guides/guides/legacy/advanced-event-qr-code) for the setup guide.


# Event attendance QR code (advanced)

How to generate a contact-specific QR code that submits an email address to a form, enabling automatic attendance registration when scanned at an event.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

This guide shows how to build a QR code that, when scanned, submits the contact's email to a specific eMarketeer form to register event attendance.

The standard QR code generator can produce a QR code from any contact field. This advanced variant points the code at a form receiver URL, so scanning the code automatically registers the contact. Some HTML and URL knowledge helps before you start.

***

### What you need to start

You need a form on your account where attending contacts will be registered. You will pull two values out of the form's website integration code to build the QR URL.

The QR code generation URL looks like this:

`https://app.emarketeer.com/library/qrcode/php/qr_img.php?s=6&d=https://app.emarketeer.com/ext/form/receiver.php?m=M_VALUE%26NAME_VALUE=<% contact field="email" %>`

The placeholders `M_VALUE` and `NAME_VALUE` are what you will replace with values from your form.

### Get the M-value and NAME-value from the form

Open the report page for the form where attendance should be registered, then open the form's website integration code.

<div align="left" data-with-frame="true"><img src="/files/8Rmo7W5a6EDXIfRGhtaE" alt="Step-by-step illustration of how to find the form integration code"></div>

Guide to form integration code

1. Click **Publish Form** in the left-side menu to open the publishing options.
2. Click **Website Integration** on the publishing page.
3. Under `<FORM>`, type any domain in the domain field and press Enter. For example, `emarketeer.com`.
4. Click the **Get Code** button.

Next, find the two values in the integration code. The M-value identifies the form. The NAME-value identifies the specific question — in this case, the question that stores the contact's email address. Look for:

* `<input type="hidden" name="m" value="M-Value">`
* `<input type="email" name="NAME-Value">`

<div align="left" data-with-frame="true"><img src="/files/3NLmZ7wHMD508xbsG5LI" alt="The form integration code with the m-value and name-value highlighted"></div>

The M-value and NAME-value

Example values:

* M-value: `353750ae84ccbd4692021cd1e93a90145287fee`
* NAME-value: `query_2027106_16_3`

### Build the QR code URL

Replace the placeholders in the QR code URL with the values from your form. Starting from this template:

`https://app.emarketeer.com/library/qrcode/php/qr_img.php?s=6&d=https://app.emarketeer.com/ext/form/receiver.php?m=M_VALUE%26NAME_VALUE=<% contact field="email" %>`

The finished URL looks like this:

`https://app.emarketeer.com/library/qrcode/php/qr_img.php?s=6&d=https://app.emarketeer.com/ext/form/receiver.php?m=353750ae84ccbd4692021cd1e93a90145287fee%26query_2027106_16_3=<% contact field="email" %>`

### Use the QR code URL

Paste this URL into an image block in an email or app component as if it were a regular image URL. When the email or app is distributed, each contact gets a unique QR code containing their email address. Scanning the code registers them to the form.

To use this URL on an app component's QR code page, you need Developer permissions on your user account. Enable Developer Mode on the app's editing page, open the QR code block, switch to the HTML tab, and replace the standard QR code URL in the HTML with your new one.


# Post data to a form

How to submit answers to an eMarketeer form programmatically from your own website or an external system.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

This guide shows how to post answers to an eMarketeer form from your own website or from another system.

The hosted version of a form covers many cases, but sometimes you need to embed the form on your website or trigger automations from another system. A form is a flexible target for posting data from outside eMarketeer.

## Before you start

You always need to create the form in eMarketeer first. The form defines which questions you want answered. Once it exists, you can post answers to it in several ways:

* Get the direct URL and let visitors answer the hosted form (not covered here).
* Iframe the hosted form onto your site (not covered here).
* Put the HTML of the form on your website.
* Use a script to post data to the form programmatically.

Every form has two important properties:

* A URL to post the data to.
* Input fields with a name and a value.

If you POST (or GET) the answers to that URL with the right name/value pairs, your answers are saved in eMarketeer.

## 1. Create the form

In eMarketeer, create a form with a contact registration and any other questions you need.

<div align="left" data-with-frame="true"><img src="/files/UomIwO0MMwDSVSBa4Z73" alt="A form being created in eMarketeer."></div>

## 2. Get the form HTML code

Click "publish" on the form.

.png>)

Then click "Website integration."

<div align="left" data-with-frame="true"><img src="/files/12TuNu45k5JjIQ9SBgDY" alt="The website integration option."></div>

Click "GET CODE" under the `<FORM>` section to open the form code. If reCAPTCHA is active on your account, add a domain to the domain field before you can access the code.

<div align="left" data-with-frame="true"><img src="/files/hAi7G1UEfYIJRMGfJfCH" alt="The GET CODE button under the FORM section."></div>

The form code is displayed.

<div align="left" data-with-frame="true"><img src="/files/cpqx5fecxlYJAyib2piX" alt="The generated form HTML code."></div>

You can paste this code directly on your website. It posts the answers to eMarketeer and then shows the thank-you page.

You can restyle and rearrange the code as much as you want — as long as you keep the action URL and the input names intact. There is also a hidden input named "m" with a value that identifies which form to post to. Keep it.

## cURL and other methods to post

Once you have the URL and the input fields, any method that posts to that URL works. Instead of using a browser, you can use cURL or a similar tool to post programmatically. Keep the input names intact. GET is also valid — pass the parameters in the query string.

## Custom thank-you page

If you embed the form on your site, you may want to send visitors to your own thank-you page instead of the eMarketeer-hosted one. To change the redirect, edit the form in eMarketeer and click "Thank you page." Choose "Use custom URL" and enter the URL to redirect to.

<div align="left" data-with-frame="true"><img src="/files/aW9vGeuGciDwx2sSPbJ0" alt="The custom thank-you page setting on a form."></div>


# Phone number validation

Advanced guide to requiring a country code in a form's phone number field when reCAPTCHA is enabled.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

This guide shows how to require a country code in the mobile number field of a form when reCAPTCHA is active.

You add code to the form's HTML and, if needed, adjust the regular expression that validates the string. If you used validation before activating reCAPTCHA, switch to the "submit captcha" version of the code in step 2.

***

### 1. Add this snippet at the top of the CSS textbox on the Colors & Fonts -> HTML page

***

\
$J = jQuery.noConflict();

***

\
submitForm = function(){\
var jval = jValidate($('formen'),true);\
if(!jval){\
return false;\
}\
var regEx = /^\\\\+\\\[1-9\\]\\\[0-9\\]{7,14}$/;\
var val = $J('input\\\[type=tel\\]').val();\
\
if (!val || val.match(regEx)) {\
const siteKey = window.\\\_\\\_RECAPTCHA\\\_SITE\\\_KEY\\\_\\\_;\
submitCaptchaOK(siteKey);\
} else {\
alert('Enter the mobile number with country code');\
$J('input\\\[type=tel\\]').focus();\
return false;\
}\
}

***


# Max answers for a checkbox

Advanced guide to capping the number of selectable options on a checkbox question in a form using a custom JavaScript snippet.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

This advanced guide shows how to cap the number of options a respondent can select for a checkbox question in a form.

To set the limit, add a script to the HTML Head section for the form, found under the Edit Fonts & Colors options.

The example below covers two checkbox questions. Question query\_2004686 allows up to 3 selected answers, and question query\_2005423 allows up to 2.

```html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
var jq = $.noConflict();

jq(document).on('change', 'input[name^="query_2004686"]', function (e) {
    if (jq('input[name^="query_2004686"]:checked').length > 3) {
        jq(this).prop('checked', false);
        alert("Only 3 Checked Answers Allowed");
    }
});

jq(document).on('change', 'input[name^="query_2005423"]', function (e) {
    if (jq('input[name^="query_2005423"]:checked').length > 2) {
        jq(this).prop('checked', false);
        alert("Only 2 Checked Answers Allowed");
    }
});

</script>
```

## Step by step

1. Copy the code above and adjust it so there is one `jq(document).on('change')` block per question you want to cap. The example covers two questions.
2. Open the form's Publish page and the Website Integration code page so you can see the question Names used in the code.
3. From the integration code, get the Name selector for each checkbox question (for example, "query\_2004686" from "query\_2004686\_2\_0\_0\[]"). Replace the names in the example so each block uses the right one.
4. Change the length number in each block to the maximum number of allowed selections for that question. Update the alert text for the same question to reflect the new number.
5. Add the code to the HTML Head section of the form under the Edit Fonts & Colors options.


# Remove a form answer

How to delete individual answers, selected rows, or the full set of answers from a form report.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

Remove test answers, faulty answers, or the entire set of answers from a form report.

There are three ways to remove undesired form answers, depending on where you start.

## Delete from the Spreadsheet report

Open the form report and go to the Spreadsheet tab. Each row contains contact data and the answers from one contact. Select one or more rows — the Delete Answer button activates, with the selected count shown in parentheses.

<div align="left" data-with-frame="true"><img src="/files/WGBPhlMjL1pjUVyDOteA" alt="Spreadsheet report with two rows selected and the Delete Answer button active"></div>

Spreadsheet report with two rows selected.

## Delete from the contact card

Find the contact however you prefer — the contacts search box, a filter, or by drilling into a component report. Open the contact card and go to the Engagement tab. Locate the form report you want to remove the contact from, click Show answers, then click Delete answers.

\[

<div align="left" data-with-frame="true"><img src="/files/uYBXgSnPn27MlV4roawn" alt="Contact card Engagement tab with a form report expanded and the Show answers link visible"></div>

Navigate to the form component and click Show answers.

<div align="left" data-with-frame="true"><img src="/files/GLGIDbd2HGwFXJfXhcBR" alt="Show answers expanded with the Delete answers button visible"></div>

Delete answers to remove the contact from the report.

## Delete from the Campaign Contacts tab

Use this option when you want to remove a contact from multiple component reports at once. Go to the Contacts tab in the campaign, browse or search for the contact, tick the checkbox next to one or more contacts, and click Remove selected from campaign.

<div align="left" data-with-frame="true"><img src="/files/O6AIu4q2mTlZbgYcvG1F" alt="Campaign Contacts tab with contacts selected and the Remove selected from campaign button visible"></div>

Removing a contact from campaign contacts removes the contact from all campaign reports.


# Close a form

How to configure a form to stop accepting answers after a set date or a maximum number of submissions.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

Set criteria for when a form should stop accepting answers.

Use this when a form should only run for a limited time or up to a maximum number of submissions.

## Open the form's publish settings

1. In the campaign view, click Publish on the form.

   <div align="left" data-with-frame="true"><img src="/files/e8icNA5Mh3K3rt1fhXZ0" alt="formpub1"></div>
2. In the left menu, click Open/Close form.

   <div align="left" data-with-frame="true"><img src="/files/Zd4Vi4YsyXho8fQ2jA6e" alt="formpub2"></div>
3. Choose the settings you need for your form.

   <div align="left" data-with-frame="true"><img src="/files/6OliIdoOI2GVg3dEtpVb" alt="formpub3"></div>


# Website integration requirements

The technical requirements a web page must meet to host an embedded eMarketeer form.

{% hint style="warning" %}
This article applies to **Form (Legacy)**. For the current form editor, see [Forms](/guides/guides/forms).
{% endhint %}

You can embed an eMarketeer form on your own site by pasting generated HTML into the page source. This article lists the environment requirements the page must meet for the form to work.

The HTML eMarketeer generates is stripped of design and validation so you can apply your own styles and validation scripts. The form submits via JavaScript for two reasons:

1. It's easy to add your own validation inside the existing function.
2. Spam bots that fill in forms with junk are filtered out, because they usually can't run JavaScript.

### Environment requirements

Paste the code into your site's source. Make sure the following requirements are met.

#### Nested forms

Make sure no other `<form>` tags conflict with the embed. Nested form tags do not work.

#### Unicode only

Make sure the page uses a Unicode charset. This keeps posted data stored correctly in eMarketeer regardless of input language. You can do this in a few ways.

#### Web server level

Configure the web server to use Unicode for all pages by default.

#### Client level

Make sure the HTML on the page includes this meta tag:

```html
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
```

#### Server script

If you use server-side scripts, set the charset per page.

PHP:

```php
<?php header('Content-Type: text/html; charset=utf-8'); ?>
```

ASP:

```asp
<% Response.charset="utf-8" %>
```


# Campaigns

Guides for creating, organizing, and managing campaigns in eMarketeer.

{% columns %}
{% column %}
{% content-ref url="/pages/s3Jh9DeGkxzM5DLa9lda" %}
[Campaign Interface explained](/guides/guides/campaigns/campaign-interface-explained)
{% endcontent-ref %}

{% content-ref url="/pages/fJzQvZgDFVtkpuI5yO5I" %}
[Campaign Contacts](/guides/guides/campaigns/campaign-contacts)
{% endcontent-ref %}

{% content-ref url="/pages/dyEkJaIeEEu7FO8Rsva3" %}
[How to use campaign fields in eMarketeer](/guides/guides/campaigns/how-to-use-campaign-fields-in-emarketeer)
{% endcontent-ref %}

{% content-ref url="/pages/d3oxKz0cBOvrXes87BfF" %}
[How to use eMarketeer campaign reports](/guides/guides/campaigns/how-to-use-emarketeer-campaign-reports)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/IytSxaEAZJJHYSjc432l" %}
[Transfer a campaign to a different account](/guides/guides/campaigns/transfer-a-campaign-to-a-different-account)
{% endcontent-ref %}

{% content-ref url="/pages/7g1fCSgkXFlPmCgyjAXl" %}
[Creating a shortcut to a Campaign using My Favorites](/guides/guides/campaigns/campaign-add-favorite)
{% endcontent-ref %}

{% content-ref url="/pages/laoEFflzLvQDYsXACh9o" %}
[Organizing campaigns](/guides/guides/campaigns/organizing-campaigns)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# Creating a shortcut to a Campaign using My Favorites

How to pin a campaign to My Favorites for quick access from any campaign navigation page.

My Favorites is a section in the campaign navigation that holds shortcuts to campaigns you want quick access to.

Use it to pin campaigns you visit often or that are currently active, so they are one click away from any campaign navigation page.

<div align="left" data-with-frame="true"><img src="/files/bd0R7e3e4tMicmU7Q3He" alt=""></div>

Location of My Favorites on the Campaign navigation pages

## Add a campaign to My Favorites

1. Navigate to the campaign in the campaign structure.
2. Click the cogwheel icon on the right side of the campaign's row.
3. Click Add Favorite in the context menu.

<div align="left" data-with-frame="true"><img src="/files/v9bFDecumuGpv1Ac6Nsr" alt="The Cogwheel is on the right side of the campaign&#x27;s row and the first context menu item is"></div>

Adding a campaign to Favorites


# Campaign Contacts

What Campaign Contacts is, how contacts are added to it, and how to review or remove contacts from a campaign.

Campaign Contacts is a tab in each campaign that lists the contacts belonging to that campaign.

Use it to see who has interacted with the campaign, review individual contact history, and remove unwanted contacts.

A contact is added to the Campaign Contacts list when it:

* Is addressed and sent an email that belongs to the campaign. Contacts excluded before sending are not added.
* Is addressed and sent an SMS that belongs to the campaign. Contacts excluded before sending are not added.
* Submits a form belonging to the campaign.
* Visits a webpage belonging to the campaign. Anonymous visits are not added.
* Is imported to the campaign using the Import Contacts feature in the campaign's left-hand menu.

## Campaign Contacts interface

<div align="left" data-with-frame="true"><img src="/files/2SdEpZ4i6cpiaGI6Uaw7" alt="Campaign Contacts tab listing contacts in a campaign"></div>

Campaign Contacts interface

Click an individual contact to view the history of their interactions within the campaign. To find a specific contact, use Quick Search in the top right corner of the tab.

### Removing contacts from a campaign

You can use this tab to remove unwanted contacts from the campaign, and by extension from each component report within the campaign. This is useful for removing test contacts.

1. Select the contacts to remove using the checkboxes on the left of each row.
2. Click Remove selected from campaign above the list.

## All contacts in this campaign (Recipient Source)

You can address Campaign Contacts using the "All contacts in this campaign" option when sending an email or SMS. See the definition at the top of this article for what counts as a campaign contact.

<div align="left" data-with-frame="true"><img src="/files/pT3Egw480wtWVONBZWAe" alt="Recipient Source dropdown with &#x22;All contacts in this campaign&#x22; selected"></div>

The "All contacts in this campaign" option


# Campaign Interface explained

A tour of the campaign interface, covering the components view, the add-component menu, and links for contact management and automations.

This article describes the campaign interface, with a focus on the Components view.

The left side of the screen holds the Add components menu and quick links for contact management and automations. The right side holds the different views of the campaign.

Components make up the content of your campaign. There are four component types: [Emails](/getting-started/campaign-basics/basics-creating-email), [Forms](/getting-started/campaign-basics/basics-creating-form-new), [SMS](/getting-started/campaign-basics/basics-creating-sms), and [Webpages](/guides/guides/webpage/creating-first-webpage), plus one sub-component, Mobile apps.

<div align="left" data-with-frame="true"><img src="/files/vXK7HvvRT9BRrfS5KBq9" alt="Campaign UI"></div>

## 1. Campaign views

Below the campaign path, name, and description sit several tabs. Each tab is a separate view of the campaign:

* **Dashboard** — Build campaign-specific reports using reporting widgets. See [campaign reports](/guides/guides/campaigns/how-to-use-emarketeer-campaign-reports).
* **Components** — The default view. Organize and view the campaign's components. The number in parentheses shows how many components the campaign has.
* **Contacts** — Lists contacts added to the campaign, either imported directly or added automatically through interaction. The number in parentheses shows how many contacts are currently related to the campaign. [Read more](/guides/guides/campaigns/campaign-contacts).
* **Event history** — Shows events for sent emails or SMS. Review when a component was sent, and review or abort upcoming scheduled sends. The number in parentheses shows scheduled sendouts currently waiting in this campaign.
* **Automation** — Add automated actions to the campaign. Automations trigger from a contact interacting with a component, so the campaign must contain at least one component. The number in parentheses shows how many automations exist in the campaign.
* **Fields** — Define fields unique to this campaign that can be merged into component content as variables. Editing a field value replaces the variable in every component that uses it. [Read more about campaign fields](/guides/guides/campaigns/how-to-use-campaign-fields-in-emarketeer).

## 2. View-specific area

The area with the white background shows the interface for the active view. The screenshot above shows the Components view.

## 3. Components view

In the Components view, components appear as either thumbnails or as a list. Switch between them using List or Icons in the top right corner. This guide uses the default Icons setting.

Thumbnails are not displayed in a particular order, but you can rearrange them by drag and drop. Double-click a thumbnail to open the component editor.

Under each thumbnail is a menu with Edit, Send/Publish, and Reports. These are the main sections of each component:

* **Edit** — Opens the component editor where you change the content of the component.
* **Send** — Opens the Send options page. Send or schedule a component. Available for email and SMS only.
* **Publish** — Opens the Publish options page. Shows the direct URL of the component and other publishing options. Available for forms and webpages only.
* **Reports** — Opens the component report. Each component type has its own report with different metrics.

Below the main component menu is an area with extra information about the component, such as its type and usage metrics. Below that is the More actions menu.

### More actions menu

This menu provides options for managing the component:

* **Delete** — Deletes the component from the campaign. Deleting a component removes its report and connected statistics. Contact interactions with the component are removed from the contact's Engagement timeline.
* **Rename** — Renames the component. The name is visible only to eMarketeer users, not to contacts.
* **Copy** — Creates a copy in the campaign named "Copy of \[component name]". The copy has a clean report but is otherwise identical to the original.
* **Move** — Moves the component to another campaign. A component can't exist outside a campaign, so you move it to another campaign, never to a folder. Internal links to components in the source campaign may break in the new one.
* **Make template** — Creates a copy of the component as a template, available in the Add components menu under My templates. My templates lists all saved templates on your account.


# Organizing campaigns

How to keep your campaigns tidy — the Campaigns list view, folders, moving items, and per-campaign options.

A campaign works like a project that groups related components together — for example, every email, form, and webpage tied to one event or newsletter. As your account fills with campaigns, a little structure keeps them easy to find. See [How to create a new campaign](/getting-started/campaign-basics/create-new-campaign) to make your first one.

## The Campaigns list view

The Campaigns list gives you an overview of every campaign without opening any of them. The Contents column lists how many of each component type a campaign holds, so you can see what's inside at a glance. You can also see who created each campaign and when. Campaigns are sorted with the most recently created first.

<div align="left" data-with-frame="true"><img src="/files/FImVeb1STcx1GuUobkj7" alt="The Campaigns list view showing the Contents column, creator, and creation date."></div>

## Organize campaigns into folders

Group campaigns into folders by type — for example Newsletters, Events, Surveys, Website forms, Internal, or Promotional. Sorting by purpose makes any single campaign quicker to find later.

### Create a folder

To create a folder, click **Create folder** in the top toolbar of the Campaigns listing. A folder can hold other folders or campaigns. A campaign can't hold folders.

### Move campaigns and folders

There are two ways to move things:

* **Drag and drop** — click the icon, drag it, and drop it onto another folder. To move an item out of its current folder, drop it anywhere on the breadcrumb trail.
* **The Move button** — tick the box to the left of a campaign or folder name, then click **Move** in the top toolbar. This is the better choice when you want to move several campaigns or folders at once.

## Per-campaign options

Each campaign has additional options behind the cogwheel icon on the far right of its row:

* **Add favorite** — Adds the campaign as a favorite, quickly accessible from the My favorites section in the left-side menu.
* **Rename** — Gives the campaign a new name.
* **Copy** — Makes a copy of the campaign in the same folder. As the most recently created campaign, the copy is sorted first.
* **Transfer** — Creates a copy of the campaign in another eMarketeer account. See [Transfer a campaign to a different account](/guides/guides/campaigns/transfer-a-campaign-to-a-different-account).


# How to use campaign fields in eMarketeer

How to create and use campaign fields to store reusable information — such as event names or dates — across all components in a campaign.

Campaign fields let you store custom information once and reuse it across every piece of campaign content.

In this article, you learn why campaign fields are useful, how to set them up, how to insert them into your content, and a few extra tips.

## What are campaign fields?

A campaign field holds custom information that you want to reuse throughout a campaign — titles, event names, descriptions, images, dates, and so on. It is up to you which fields to add.

## Why use campaign fields?

Instead of typing the same information into every content piece, you store it once as a campaign field and reference it. When the information changes, you update the field and every component that uses it updates automatically. This is especially helpful when you copy a campaign — you only edit the fields to bring the whole campaign up to date.

## How to set up campaign fields

{% stepper %}
{% step %}

### Open the Fields tab

In your campaign, go to the "fields" tab and click "add campaign field."

<div align="left" data-with-frame="true"><img src="/files/WoOPNfNB7lv4mRiiEntC" alt="The fields tab with the add campaign field button."></div>
{% endstep %}

{% step %}

### Name the field

In the pop-up, name the field. Make the name clearly describe what the field contains — for example, "event name." Use the description to note how and when you use the field as a reference for future edits.

<div align="left" data-with-frame="true"><img src="/files/Ge7lGAjJ3E8Z9BreVZpS" alt="Naming a campaign field in the pop-up."></div>
{% endstep %}

{% step %}

### Choose a field type

The available types are:

* **Text:** suitable for headlines or names.
* **Text area:** like text but with more room — suitable for descriptions or summaries. Supports HTML.
* **Date:** with optional time.
* **Image:** add an image from your eMarketeer image library or paste an image link. Make sure the link starts with https.
* **Rich text:** for text you want to format with bold, italics, hyperlinks, and so on.
* **Checkbox:** show or hide a piece of content based on whether the box is checked. For example, two events share a campaign, but only one needs to include parking information — a checkbox controls whether the parking text is included.
* **Radio buttons:** choose one of several options. For events at different locations, you can add radio buttons for each location and the chosen value flows into your content.
* **Droplist:** pick one or more options from a list. For example, a list of speakers — pick the ones for this event and they appear in your content.

<div align="left" data-with-frame="true"><img src="/files/AnKV85xK6kCzY3v5ZedW" alt="The campaign field type selector."></div>
{% endstep %}

{% step %}

### Enter the field value

After you pick a type, a value field appears. Enter the value.

<div align="left" data-with-frame="true"><img src="/files/6C473X9lNtLavBxjKM17" alt="Entering a value for a campaign field."></div>

Repeat for any campaign fields you need. Click save. Use the cog wheel to edit or delete a field.

<div align="left" data-with-frame="true"><img src="/files/6D3b9g1mO6aEBjDrb4Ox" alt="A drop list of different types of campaign fields."></div>
{% endstep %}
{% endstepper %}

## How to add a campaign field to your content

Adding a campaign field works the same way as inserting a contact's first name.

{% stepper %}
{% step %}

### Open the text block editor

In your content editor — an email in this example — click the text block where you want to add the field.

<div align="left" data-with-frame="true"><img src="/files/NAEQDwZZNt7ml0FLk8Sv" alt="Editing a text block in an email."></div>
{% endstep %}

{% step %}

### Click the personalize icon

<div align="left" data-with-frame="true"><img src="/files/orRPikVSHCtIOXEbIB9o" alt="The personalize icon in the editor toolbar."></div>
{% endstep %}

{% step %}

### Select and insert the campaign field

In the pop-up, you see the fields on your contact card together with the campaign fields you set up. This is why clear names matter.

<div align="left" data-with-frame="true"><img src="/files/K2ep7y6c9FS6d2RLK4J2" alt="The personalize pop-up showing contact and campaign fields."></div>

Choose the campaign field and click save. The field is added to your content.

<div align="left" data-with-frame="true"><img src="/files/TH2yJQNirxyaqbYS9mr4" alt="A campaign field inserted into an email text block."></div>
{% endstep %}
{% endstepper %}

## How to add a campaign field as an image or to a form

There is currently no personalize button for image blocks or the form editor. To use a campaign field there, go to any text block, copy the campaign field link, and paste it into your form or as the image URL in your image block.

## Use campaign fields in your sender information

You can also use a campaign field in the subject line. Click the personalize icon next to the subject and choose the campaign field.

<div align="left" data-with-frame="true"><img src="/files/8pJUm29701SS17F5mTLn" alt="The subject line with the personalize icon."></div>


# Transfer a campaign to a different account

How to copy a campaign's components from one eMarketeer account to another, leaving the original in place.

You can transfer a copy of a campaign from one eMarketeer account to another. This helps when your organisation runs several separate accounts and wants to share work between them.

Only the campaign components are transferred. Contacts and automations stay in the original account, and the original campaign remains in place — the destination receives a copy.

### Before you start

You need two things:

1. A campaign you want to transfer.
2. The EMID of the destination account.

### Get the destination EMID

The EMID is a unique identifier for an eMarketeer account. Ask a user on the destination account to log in and click "Account" → "My Identifier Code (EMID)".

<div align="left" data-with-frame="true"><img src="/files/tOVtC1eFGtAOtVlMuAHB" alt="EMID lookup under the Account menu"></div>

Have them copy the code and send it to you.

### Transfer the campaign

Open "Campaigns" and find the campaign you want to transfer in the list. Click the gear icon on the far right of that row, then click "Transfer".

<div align="left" data-with-frame="true"><img src="/files/DjSp2pJ0uq6u8RDtdbTk" alt="Transfer option in the gear menu for a campaign"></div>

A dialog opens and asks for the EMID of the destination account. Paste the EMID you received and click "Fetch User".

<div align="left" data-with-frame="true"><img src="/files/Zmd7SWTJnzyPXQR67kUx" alt="Transfer dialog with EMID field"></div>

Verify the destination account looks correct, then click "Transfer Campaign" to complete the transfer.

### After the transfer

The receiving account now has a copy of the campaign as the first entry in its campaign list.


# How to use eMarketeer campaign reports

How to build real-time campaign reports using drag-and-drop widgets on the campaign dashboard.

The campaign dashboard lets you build real-time reports for any campaign using drag-and-drop widgets.

Update as of February 2021: the reporting widgets now live on their own tab called "dashboard" inside a campaign. Setting up widgets works the same as in the older tutorial.

In this article, you learn how the campaign report dashboard works and what each reporting widget does.

## Campaign dashboard

The campaign dashboard builds reports from a set of widgets you choose. Reports update in real time, and you arrange them with drag-and-drop.

### To build a campaign report

Go to the campaign you want to report on. Click the "dashboard" tab and then "add reporting widget." Pick any widgets you want to track the campaign with. Rearrange them by dragging.

<div align="left" data-with-frame="true"><img src="/files/dTflLIIZdCQzjk782Qxu" alt="The campaign dashboard with reporting widgets."></div>

## Reporting widgets

The available widgets are email top list, email performance, funnel chart, KPI counter, and goal gauge.

<div align="left" data-with-frame="true"><img src="/files/hMVQcE82WA2OixfypuzR" alt="The list of reporting widgets you can add."></div>

### Email top list

Find out which of your campaigns performs best.

<div align="left" data-with-frame="true"><img src="/files/6bKdQDZycVBguczGkbG1" alt="The email top list widget."></div>

The email top list widget ranks your campaigns by open rate, click-through rate, or click-to-open rate. It gives you an overview of how each campaign performed and which type your contacts prefer.

To add the widget:

1. Choose the time frame — all time or this year.
2. Choose how to sort — open rate, click-through rate, or click-to-open rate. The list generates automatically with the top 10 campaigns.

### Email performance report

Suited for your email marketing.

<div align="left" data-with-frame="true"><img src="/files/xkq8vbZjiTbCSgGBWfx4" alt="The email performance widget."></div>

See your average campaign performance — open rate, click-through rate, click-to-open rate, and unsubscribes. You can also compare averages with another campaign. After adding the widget, choose the campaign to compare against and the report generates automatically.

### Funnel chart

Works well for lead nurture campaigns and events.

<div align="left" data-with-frame="true"><img src="/files/AL7rWEk5KqsvRueOTf0b" alt="A funnel chart with colored bars showing conversion between steps."></div>

Track your marketing flow step by step. The funnel chart visualizes each step you build — for example, event invitation, event sign-up, and attendee form. Each step is a bar with the conversion rate to the next, and the chart shows the overall conversion from the first step to the last.

To set it up:

1. Click "add campaign reports."
2. Choose "funnel chart."
3. Choose the component that is the first step in the flow. Depending on the component, you pick from a few actions — for emails: addressed, delivered, opened, clicked. For forms: submissions.
4. Add the remaining steps in the order they happen in your flow.

Click a bar to see which contacts did or did not complete that step. Click the component name under a bar to open the report for that component.

Important: for a contact to be counted in a step, they must also be counted in the previous step.

You can resize the funnel chart. Open it, find the "size" drop-down, and pick a smaller value to make room for another chart next to it — for example a goal gauge.

### Goal gauge

Works well for downloads or sign-ups.

<div align="left" data-with-frame="true"><img src="/files/SBBHPiaE05z48KibrkSF" alt="The goal gauge widget showing progress toward a target."></div>

Set a target and watch progress toward it. The goal gauge works as a progress bar and shows the percentage to target.

1. Click "add campaign reports."
2. Choose "goal gauge."
3. Choose the component to track — for example, form submissions.
4. Set the target.

### KPI counter

<div align="left" data-with-frame="true"><img src="/files/twIUZCb9xNaxNQXJEz5D" alt="The KPI counter widget."></div>

A quick count of form submissions, email clicks, or whatever you want to track. Like the goal gauge, but without a target.

1. Click "add campaign reports."
2. Choose "KPI counter."
3. Choose the component to track — for example, form submissions.
4. The KPI calculates immediately.


# Webpages

Guides for creating webpages and customizing the eMarketeer web app.

{% columns %}
{% column %}
{% content-ref url="/pages/37sU21JqhAWfAwaWoEMd" %}
[Creating your first webpage](/guides/guides/webpage/creating-first-webpage)
{% endcontent-ref %}

{% content-ref url="/pages/KhjcSe2ABxoMtUPimaYn" %}
[Webinar: How to Build Mobile Apps in eMarketeer](/guides/guides/webpage/webinar-build-mobile-app)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/6kxKqTkc5565HvRemX0y" %}
[Change home screen icon in Web App](/guides/guides/webpage/change-home-screen-icon-in-web-app)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# Creating your first webpage

This guide walks you through creating a webpage in eMarketeer, from choosing a template to editing content blocks and finishing the page.

{% hint style="warning" %}
You need a campaign before you can add a webpage. See [How to create a new campaign](/getting-started/campaign-basics/create-new-campaign) if you haven't created one yet.
{% endhint %}

{% hint style="info" %}
The example builds an event landing page, but the process is the same for any webpage type. By the end, you will have a webpage ready to publish.
{% endhint %}

{% stepper %}
{% step %}

### Add a webpage from the campaign page

From the campaign page, click **Add Webpage**.

<div align="left" data-with-frame="true"><img src="/files/GF4iMYJrwuCjuHas9Tng" alt="Add Webpage button on the campaign page"></div>
{% endstep %}

{% step %}

### Fill in settings and choose a template

<div align="left" data-with-frame="true"><img src="/files/6gmPdTQhZCvJK1nFa6cf" alt="Webpage settings and template selection dialog"></div>

**Settings**

* **Name your webpage:** A unique name so you can find it later. Use something that describes the page's role in the campaign. Visitors do not see this name.
* **Page title:** The title visitors see in their browser tab.

**Template**

Pick a template from one of the tabs as a starting point for the design. This guide uses **Simple Landing (R)** from the **Landing Pages** tab. Custom templates saved on your account appear under **My Templates**.

**Create webpage component**

Once settings and template are set, click **Create Web Page** to create the component.
{% endstep %}

{% step %}

### The webpage editor

After you click **Create Web Page**, the editor opens with the template's content already in place. The left menu lets you add content blocks, access tools, and adjust the settings from the previous step. The rest of the page shows the current content, made up of blocks you edit individually.

<div align="left" data-with-frame="true"><img src="/files/79SAAJ2v7ZHG71XmVhqd" alt="Webpage editor with content blocks and left-side menu"></div>
{% endstep %}

{% step %}

### Edit a content block

Each content block has several parts you can update. Click the block's **Edit** button to open its settings.

<div align="left" data-with-frame="true"><img src="/files/Z0YP78dXPQKkt5o0HCmB" alt="Edit button on a content block"></div>

A settings panel opens on the right with two tabs: **Content** and **Styles**. Content is where you change the block's text, images, and links. Styles is where you change colors and fonts.

On the Content tab, the top section controls how the block displays — leave those defaults for now. The lower section is where you edit the actual content.
{% endstep %}

{% step %}

### Change a headline

To change a headline or text paragraph, click its title bar and edit the text in the text box. An empty text box hides that part of the block.

In the example below, the text paragraph and two link buttons are empty, so they do not appear on the page.

Click **Save** after each change.

<div align="left" data-with-frame="true"><img src="/files/cKxAzskIDZueWmHa1xzE" alt="Editing the headline text of a content block"></div>
{% endstep %}

{% step %}

### Change the image in a block

Open the block for editing, go to the Image section in the right panel, and click **Choose Image**.

<div align="left" data-with-frame="true"><img src="/files/23xv07Ybg2kcMIfeoSee" alt="Choose Image button in the image section"></div>

To upload and use your own image:

1. Click **Upload File**.
2. Click **Choose files** and select the image on your computer.
3. Upload the file to your eMarketeer account.
4. Click the file in the browser window to select it.
5. Click **Use Selected** to add it to the content block.

<div align="left" data-with-frame="true"><img src="/files/eVlCxa2IpWoAbi1rPtEh" alt="Upload File, Choose files, and Use Selected steps"></div>

If the image does not match the recommended dimensions for the block, an option to auto-scale it appears. Click the link in the notice to accept.

<div align="left" data-with-frame="true"><img src="/files/ShpP0nVGC8PDna44KoA4" alt="Auto Scale notice for resizing the uploaded image"></div>
{% endstep %}

{% step %}

### Add a button with a link

Use buttons to link to a webpage, file, or another eMarketeer component. For a web link, type the URL in the Link settings (include `http://` or `https://`) and write a button caption. To link to a form:

1. Open the Link 1 content settings and click **Browse**.
2. Click **Link to eMarketeer Form**.
3. Pick the campaign that contains your form, then pick the form itself.
4. Click **Select**, then **Apply**, then **Save** to add the link and save the block.

<div align="left" data-with-frame="true"><img src="/files/072fTedqN9rFwSFDbza0" alt="Setting a button link via Browse to an eMarketeer form"></div>
{% endstep %}

{% step %}

### Add a new content block

Click **Add Content Block** in the left menu, then click **Add Block** next to the block type you want.

If the button is grey, click an existing block first to tell the editor where to insert the new one.

<div align="left" data-with-frame="true"><img src="/files/JKL1oZYk21O5HOK1wn80" alt="Add Content Block menu with block type options"></div>
{% endstep %}

{% step %}

### Reposition a content block

To move a block, click and hold the reposition icon on the left side of the block's context bar, then drag it to the new position.

<div align="left" data-with-frame="true"><img src="/files/7aP3kGb9JOKkU4maTj14" alt="Reposition icon used to drag a content block"></div>
{% endstep %}

{% step %}

### Delete a content block

To remove a block you don't need, click the delete button on its context bar.

<div align="left" data-with-frame="true"><img src="/files/r4j0rsf58UQpkQWkGitI" alt="Delete button on a content block&#x27;s context bar"></div>
{% endstep %}

{% step %}

### Finish the webpage

Click **Done Editing** to leave the editor.

<div align="left" data-with-frame="true"><img src="/files/mAjIi946rZbzGQmkwEQe" alt="Done Editing button"></div>
{% endstep %}
{% endstepper %}


# Change home screen icon in Web App

How to replace the default eMarketeer icon with your own when saving a Web App to a mobile home screen.

Replace the default eMarketeer icon with your own when saving a Web App to a mobile home screen.

This article applies to older web app templates only. Updated versions of the app have a built-in image browser for web app icons and favicons in the settings block, as shown below.

<div align="left" data-with-frame="true"><img src="/files/l5EeofcS5C4qzNzvplIm" alt="web app icon and favicon fields in the settings block"></div>

Web App icon fields

When you save the Web App to your mobile home screen, the default icon used is the eMarketeer logo shown below.

<div align="left" data-with-frame="true"><img src="/files/2QjD2L1rwnsCQwKHaDsZ" alt="default eMarketeer icon on a mobile home screen"></div>

To use a custom icon, follow the steps below.

## Create a custom icon

Create a square image at least 254 pixels wide and tall, and no more than 1024. Save the image as PNG or JPG.

## Upload the image to eMarketeer and get the URL

Go to Files in eMarketeer and upload the image to a folder of your choice. Click to preview the image and copy the relative URL (without the domain name), as shown below.

<div align="left" data-with-frame="true"><img src="/files/gCgTih9qYGVnazkxLztx" alt="image preview with the relative URL to copy"></div>

## Paste the new URL into the web app header

Open your Web App in developer mode and change the icon URLs.

1. Enable developer mode. If you don't see this option, ask your admin to grant the privilege.
2. Click Colors, Fonts & Head in the left menu.
3. Click the Head tab.
4. On lines 9-12, paste your new URL on all four rows.
5. Click Save.

<div align="left" data-with-frame="true"><img src="/files/i3VVDgHIIZwgE2NEHYGE" alt="icon URLs pasted on lines 9-12 of the web app head"></div>

Your app now uses the new icon when saved to a home screen.


# Webinar: How to Build Mobile Apps in eMarketeer

This webinar shows how to use eMarketeer to build and distribute mobile web apps for your events.

A mobile app puts event information directly in participants' hands, which is one of the strongest ways to keep your audience engaged and informed during an event. Building and distributing one has traditionally been a hurdle. eMarketeer lets you build, publish, and distribute mobile web apps without that overhead.

The webinar covers:

* How to create and design mobile web apps in eMarketeer.
* How to deliver apps to your audience.
* How to use apps to make your event more engaging.

{% embed url="<https://www.youtube.com/watch?v=43qNPscck5E>" %}


# Journeys

A journey is a sequential list of actions (steps) that runs on every contact who matches the criteria set as its starting point.

Journeys are the automation engine in eMarketeer. They let you nurture contacts, update your CRM, and drive other processes without manual work.

## Introduction to journeys

<div align="left" data-with-frame="true"><img src="/files/lWU6NlICnErR60TkdqZh" alt="Journey illustration"></div>

When a new contact matches the criteria (filter) for a journey, the contact enters the journey and moves through the steps in order.

## Key benefits

Journeys can be used to:

* Nurture leads from your website
* Automate tasks in eMarketeer
* Create and update tasks in your CRM
* Automate your lead board

And more. Using the filter as a starting point, combined with the logic and steps available, gives you a powerful tool for automating any process.

## System requirements

You can use journeys even without purchasing the add-on. In trial mode you can create as many journeys as you like, but only one journey can be active at a time.

## What to do next

[Learn how to create your first journey.](/guides/journeys/creating-your-first-journey)


# Creating your first Journey

A walkthrough for building your first Journey in eMarketeer, from setting the starting point to activating the automation.

This article walks through building your first Journey, from starting point to activation.

A Journey is an automated sequence that runs a series of steps for each contact who enters it. The Journey builder lets you combine triggers, waits, branches, and actions.

### Accessing the Journey builder

Click "Journeys" in the top navigation bar. Then click "Create new Journey" to create your first Journey.

### Adding a starting point or trigger

<div align="left" data-with-frame="true"><img src="/files/7yOAcwc5Rm17zIsIB0ya" alt="Journey starting point filter dialog"></div>

When you create a new Journey, the first task is to set the starting point.

A starting point is a set of filter rules. Any contact that matches the filter starts the Journey.

{% hint style="info" %}
**Note:** The starting point only triggers for contacts that match the filter from the time of activation. It does not include contacts that matched the filter historically.
{% endhint %}

Once your starting point is set, click "Apply" to enter the Journey editor.

The Journey does not start until you activate it.

For now this is all you need to know about starting points. For a deeper dive, see [this detailed overview on Journey triggering events](/guides/journeys/journeys-triggering-events), which explains exactly when starting points are evaluated.

### Build your Journey

<div align="left" data-with-frame="true"><img src="/files/OUPbxQcqYZJyfc5YHkVs" alt="Journey builder canvas with step nodes"></div>

After you set the starting point, you enter the Journey builder. This is where you add the steps (actions) you want to execute for each contact that enters the Journey.

Click the black dots to add steps in sequence.

### Setting up wait conditions

<div align="left" data-with-frame="true"><img src="/files/j76S0TX5mQUK5KZhSaxx" alt="wait step followed by an If/Else branch split"></div>

The Journey builder lets you split the Journey into branches based on criteria you choose.

For example, your Journey can send an email, wait for a day, and then perform different actions depending on whether the email was opened.

Add the wait step first, then add the If/Else step to split the path into branches.

{% hint style="info" %}
Always add a wait step before an If/Else step, or it will be evaluated immediately.
{% endhint %}

The If/Else step is also a filter where you can set any criteria. Once you add the If/Else step, the branch splits into two: one for contacts who meet the criteria, and one for those who do not. Adding a wait step before the If/Else step is especially important when evaluating interactions from a previous step.

You can now continue building each of the two branches.

### Sending emails and SMS

Journey steps include sending emails and text messages (SMS). To use them in a Journey, first create them in a campaign.

Reports for the sent components are also located in the campaign where you built them. You can go directly to the report for an email or SMS by opening the settings menu for the step.

### Save your Journey

Any changes to a Journey must be saved before they take effect. Press the "Save" button in the top right corner to save your Journey.

### Activating a Journey

When your first Journey is created (by clicking "Save"), it is paused. While paused, the Journey is inactive and no contacts enter it.

<div align="left" data-with-frame="true"><img src="/files/LxLVfP5ij9RRKr1lb9c1" alt="paused Journey with activation toggle off"></div>

When you are ready to activate your Journey, click the toggle button in the top right corner.

<div align="left" data-with-frame="true"><img src="/files/HJMlzwKU98gYW1QwbelL" alt="active Journey with activation toggle on"></div>

When the Journey is active, any new contacts matching the starting point filter enter the Journey.

### Editing a Journey

You can edit a Journey at any time. However, the Journey must be paused before you can make any changes.

When editing is done, save the changes and activate the Journey again.

## Journey settings

### Re-enter Journey

By default, a contact can only enter a Journey once. If a contact matches the starting point again after entering, they are skipped.

To allow a contact to enter a Journey multiple times, check the option "Contact can re-enter Journey".

When checked and saved, contacts can re-enter if they match the starting point filter again. They do not need to complete the Journey.

### Make Journey available on Contact card

Checking this option adds a manual starting point for the Journey on the contact card. Any user with access to a contact can then start the Journey for that contact directly, without waiting for an automatic trigger.

This is similar to selecting "Manual trigger" as the Journey's starting point, with one important difference: this option can be enabled on a Journey that already has an automatic trigger. Use it when a Journey should have both an automatic and a manual entry point — for example, a nurture sequence that normally starts when a contact fills in a form, but that you also want to be able to start manually for individual contacts.

## Monitoring and analytics

### Tracking Journey performance

Contacts in a Journey can have three statuses:

* Contacts started – the number of contacts that matched the starting point filter and entered the Journey.
* Contacts in progress – any contact that started the Journey but has not completed it. Without wait steps, contacts pass through the in-progress status briefly. With wait steps, many contacts can remain in progress at once.
* Completed Journeys – the number of contacts who completed all steps in the Journey.

### Step counter

Each step in the Journey has a step counter that shows how many contacts have reached that step.

Click the number to bring up a list of the contacts for that step. From there you can export or bulk update them.

The wait step has an additional counter showing how many contacts are currently waiting in that step.

## Journeys and SuperOffice

The steps collection contains several actions that perform tasks in SuperOffice. All tasks relate to contacts in SuperOffice.

### Contact matching

When a task is performed in SuperOffice, eMarketeer first checks whether the contact exists there. This is done by matching the external-id and email address of the contact.

If no matching contact is found, the Journey step is skipped by default.

### Creating missing contacts in SuperOffice

<div align="left" data-with-frame="true"><img src="/files/0G6GtGPq95OKSOqmB0nq" alt="SuperOffice step settings panel in the sidebar"></div>

When you add a Journey step involving SuperOffice, a settings panel appears in the left sidebar.

By default, contacts that are not found in SuperOffice are skipped. You can also configure the step to automatically create the missing contacts in SuperOffice.

To create the contacts in SuperOffice, you must also provide a responsible sales person and a category for the new contacts and companies.

When creating contacts and companies automatically, eMarketeer tries to find an existing company suitable for the new contact, or creates the contact without a company if allowed.

The contact-creation setting applies to all SuperOffice steps in the Journey.

<details>

<summary>Contact matching logic</summary>

```mermaid
flowchart TD
    A[Does contact have external-id?] -->|Yes| G[Create action]
    A -->|No| B[Does contact exist in SO by email?]
    B -->|Yes| G
    B -->|No| C["Search for company in SO\n1. Email domain\n2. Company name"]
    C -->|found| F[Create contact]
    C -->|not found| D[Do we have company name?]
    D -->|Yes| E["Create company\n(company name, or domain name if empty)"]
    D -->|No| H[Can we create orphan contacts?]
    H -->|Yes| F
    H -->|No| E
    E --> F
    F --> G
```

</details>

{% hint style="info" %}
**Tip:** When you enable automatic contact creation, it is good practice to also add the new contacts to a selection in SuperOffice. That way you can easily find them later.
{% endhint %}


# Journeys Triggering Events

A reference listing the contact events that cause eMarketeer to evaluate whether a journey's starting point is matched.

A journey's starting point is not evaluated continuously. It is only evaluated when a specific event occurs for a contact. This page lists every event that triggers evaluation.

## Triggering events

When any of the events below occurs for a contact, eMarketeer checks whether that contact matches a journey's starting point and should enter the journey.

### Engagement

* Email engagement
* Form engagement
* SMS engagement
* Landing page engagement
* Web monitor engagement
* SuperOffice engagement
* Facebook engagement
* LinkedIn engagement
* Custom signals engagement

### Contact card

* Contact card update
* Legal basis update
* Added to a contact list

### Lead Board

* Lead state change

### Manual trigger

A Journey can be started manually for an individual contact from the contact card, provided the Journey has the **Make Journey available on Contact card** setting enabled. This counts as a triggering event and forces the Journey to start for that contact immediately.

Unlike other triggering events, the contact does not need to match the Journey's starting point filter. The manual trigger bypasses the filter entirely, so the Journey starts regardless of whether the contact would otherwise qualify.

See [Make Journey available on Contact card](/guides/journeys/creating-your-first-journey#make-journey-available-on-contact-card) for how to enable this.

## How evaluation works

eMarketeer evaluates starting points only when a triggering event fires — not on a schedule, and not when a journey is first activated. A contact that already matches the starting point condition when you activate the journey will not enter it until a triggering event occurs for them.

## Example: contact list starting point

If your starting point filters on a contact list, contacts already in that list when you activate the journey will not enter immediately. eMarketeer waits for a triggering event to fire for each contact individually. It does not have to be "Added to contact list" — any of the events listed above will do.

To get contacts into the journey as soon as possible, populate the list after you activate the journey rather than before.


# Contacts

Guides for importing, filtering, tagging, and managing contacts in eMarketeer.

{% columns %}
{% column %}
{% content-ref url="/pages/9FGSlvqgkRMCksOzTJ3C" %}
[How contacts are created](/guides/contacts-lists/how-contacts-are-created)
{% endcontent-ref %}

{% content-ref url="/pages/peoQZ9Ii8RfRMIGu2k1U" %}
[How to Create a New Contact List](/guides/contacts-lists/new-contact-list)
{% endcontent-ref %}

{% content-ref url="/pages/jJlaHTwhy4hHIyYyl0sJ" %}
[Import contacts from Excel](/guides/contacts-lists/import-contacts-from-excel)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/5Zhsl79P4cCSZWgZlKeJ" %}
[How to build and use Contact Filters](/guides/contacts-lists/how-to-build-contact-filters)
{% endcontent-ref %}

{% content-ref url="/pages/gQarA0rW46JGxKfZzTdg" %}
[How to manage contacts in bulk](/guides/contacts-lists/bulk-actions-tool)
{% endcontent-ref %}

{% content-ref url="/pages/tgbWYHQs1mv1DG7ne6O1" %}
[Tags](/guides/contacts-lists/tags)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# How contacts are created

A complete reference of all the ways contacts can be created in eMarketeer — manually, through imports, web forms, the API, and engagement signals.

Contacts enter eMarketeer through several paths. Some are created manually by users, others are generated automatically when someone submits a form, engages with a signal source, or is pushed through the API.

## User-created contacts

### Contact import

The fastest way to bring a large number of contacts into eMarketeer is through an import.

**Excel** Upload a spreadsheet with contact data. Column headers map to contact fields in eMarketeer. See [Import contacts from Excel](/guides/contacts-lists/import-contacts-from-excel) for a step-by-step walkthrough.

**Text file** Works the same way as an Excel import, but you upload a tab-delimited or comma-separated text file instead of a spreadsheet.

**CRM** If you have SuperOffice or Microsoft Dynamics 365 integrated, you can search your CRM and import lists of contacts directly. This is useful for seeding eMarketeer with existing CRM data.

### Manually create a contact

Go to **Contacts** and click **Add Contact**. Enter an email address and eMarketeer will attempt to enrich the profile automatically. Remaining fields can be filled in manually.

### CRM web panel

The Contact Summary panel embedded in your CRM can create contacts on the eMarketeer side. If a CRM contact does not have a matching eMarketeer contact record, the panel gives you the option to create one.

### Quick-send email

If you Quick Send an email to an address that does not exist in eMarketeer, a new contact is created for that address at the time of sending.

## Web forms

A form that includes a **Contact field: Email** will create a new contact or match against an existing one when the form is submitted. Other Contact fields on the form update the matched contact record at the same time.

See [Form editor: UI overview](/guides/guides/forms/ui-overview#contact-fields) for more on Contact fields.

## API

The `/v1/contacts` endpoint accepts a POST request to create a new contact programmatically. This is the standard method for syncing contacts from external systems or automating contact creation.

Full endpoint reference: [api-doc.emarketeer.com](https://api-doc.emarketeer.com/#/Contact/postContact)

## Signals

Signals are engagement events sent to eMarketeer from external sources. When a signal arrives for an email address that does not match an existing contact, eMarketeer creates a new contact automatically.

Signal sources that can generate contacts:

[**Facebook Lead Forms**](/integrations/integrations/facebook-lead-forms) Leads collected through Facebook Lead Ad forms are sent to eMarketeer and create or update contacts.

[**LinkedIn Lead Gen Forms**](/integrations/integrations/linkedin-lead-gen-forms) Leads collected through LinkedIn Lead Gen Forms work the same way.

[**SuperOffice Signals**](/integrations/superoffice/superoffice-signals) Engagement events from SuperOffice can be forwarded to eMarketeer as signals, creating contacts when no match is found.

[**Custom Signals API**](/references/apis-developer/custom-signals-api) You can push custom engagement events from any external system using the Signals API. Each event creates or matches a contact by email address.


# How to manage contacts in bulk

How to use Bulk Actions to update or manage large groups of contacts in a single operation.

Bulk Actions lets you update or manage groups of contacts in a single operation.

The Bulk Actions button is available alongside Selections, Lists, and contact pages, typically next to the Export button. Use it when you need to apply the same change to many contacts at once.

<div align="left" data-with-frame="true"><img src="/files/Aic0l58AqIo7GhNvKsUt" alt="Bulk Actions button on the contact list page"></div>

Image showing the location of the Bulk Actions button on the Contacts Page of a Contact List

## Bulk action options

<div align="left" data-with-frame="true"><img src="/files/b9M4DTp4N9CuRZloQqLm" alt="Bulk Actions menu listing the nine available operations"></div>

The Bulk Actions tool offers nine main functions:

1. **Permanently Delete Contacts** — Permanently deletes the contacts from your account along with any interactions they have been part of. Deleted contacts cannot be restored. This includes their interactions, activity, and engagement history.
2. **Add to Contact List** — Adds the contacts to a contact list specified in the next step. You can create a new contact list if one does not already exist.
3. **Remove from Contact List** — Removes the contacts from a contact list specified in the next step.
4. **Update Subscriptions** — Changes the opt-in/opt-out status of subscription lists for the contacts. You can update any or all subscription lists in one go.
5. **Update Legal Basis** — Updates the Legal Basis of all the contacts. You can update both "Store and Process" and "Marketing Sendouts" at the same time, and to different options if needed.
6. **Update Category** — Updates the Contact Category of all the contacts.
7. **Add Tags** — Adds the selected tags to all the contacts.
8. **Remove Tags** — Removes the selected tags from all the contacts.
9. **Unsubscribe** — Unsubscribes the contacts from all future email and SMS sendouts by setting their Legal Basis for Marketing Sendouts to "Withdrawn."


# How to build and use Contact Filters

How to use the filter builder to segment contacts by any combination of criteria and take actions on the resulting selection.

Filters let you segment contacts by any criteria you set up, from broad groups to highly specific selections.

This article walks through the filter builder, shows a few example filters, and covers the actions you can take on a selection of contacts.

{% hint style="info" %}
The filter builder is also used inside Journeys, Lead Streams, and lead scoring rules — typically with a slightly smaller set of options. Understanding it here gives you a solid foundation for working effectively with eMarketeer's automated sequences ([Journeys](/guides/journeys)) and lead qualification tools ([Lead Streams](/guides/lead-board-scoring/lead-streams), [Lead scoring](/guides/lead-board-scoring/how-lead-scoring-works-in-emarketeer)).
{% endhint %}

## Get to know the filter builder

In eMarketeer, click the "contacts" tab. This is where you work with and get to know your contacts. To segment or build a selection, click the "filter" tab on the right-hand side, just above the contact list. A web panel opens — this is where you build filters and find the ones you have saved.

<div align="left" data-with-frame="true"><img src="/files/LGvZD8PH8PZ0M9O4UbRT" alt="The filter panel in eMarketeer."></div>

The first drop-down lists every category you can filter on:

* Contact fields (any information on the contact card)
* Marketing engagement
* Delivery
* Dates
* Consent
* Subscription categories
* Contact lists

<div align="left" data-with-frame="true"><img src="/files/MtuigVWzF4YvQtGP93gn" alt="The filter category drop-down."></div>

## Build a filter

To build a filter, pick the category and then a suitable operator — for example, "equals" or "doesn't equal." The operators available depend on the category.

For a simple example, segment contacts by country:

1. In the first drop-down, choose Contact fields -> country.

<div align="left" data-with-frame="true"><img src="/files/0eJHqoQhgXUjPFWwtFu2" alt="Adding the country field to a filter."></div>

2. In the operator drop-down, choose "equals."

<div align="left" data-with-frame="true"><img src="/files/wUWvUS9YYVWUs5Dzbxxr" alt="Setting the equals operator on the country filter."></div>

3. In the third field, type the country.

<div align="left" data-with-frame="true"><img src="/files/q1t0oPXb30CAQEN2ySdQ" alt="Typing the country value."></div>

4. Click "apply." You now see all contacts that match the filter.

## Make a filter more specific by adding criteria

To narrow a filter, add more criteria. After the first one, click "and" or "or" to add another.

* AND: the contact must match both criteria.

<div align="left" data-with-frame="true"><img src="/files/6rXpcxLNsHxQRMXjfYOg" alt="A filter using the AND operator."></div>

* OR: the contact must match one of the criteria.

<div align="left" data-with-frame="true"><img src="/files/JLuyH7QovKBEB79gn3Lx" alt="A filter using the OR operator."></div>

You can add as many criteria as you like and mix AND and OR in the same filter.

## Filter on engagement

The engagement category is worth highlighting. You can filter contacts by how they engaged with your marketing — for example, whether they filled out a specific form, clicked a link in an email, or visited a page on your website. This is useful for grouping contacts who have shown enough interest to be passed to sales, or for sending follow-up content based on activity.

## Save filters

Save a filter to come back to it quickly. Saved filters are not personal — every user on your account can see them. You find saved filters in the same panel as the filter builder. You can also mark a filter as a favorite to pin it to the left-hand menu.

## What you can do with your selection of contacts

### Bulk actions

Several bulk actions let you update every contact in the filter at once. You can update legal basis, change subscriptions, add the contacts to a campaign or an email list, and more.

### Set the filter as a recipient

To send to the contacts in a filter:

1. Go to the send-out options for your email, where you add recipients.
2. Choose "eMarketeer contact data base."
3. Click "contact filter."
4. In the drop-down, choose the filter you want to send to. The filter must be saved to appear here.

Every contact that matches the filter at send time receives the email.


# Import contacts from Excel

How to prepare an Excel file and import contacts — including consent information — into the eMarketeer contact database.

This guide describes how to import contacts to your eMarketeer contact database from Excel documents.

## Preparations

1. Structure your Excel file so each column lists data of a single type and each contact sits on a new row.
2. All contacts need valid email addresses or they will not be imported. This applies even when you import contacts for SMS sendouts.
3. eMarketeer uses first name and last name as two separate fields. Full name is not supported, so split the columns in Excel.
4. If you intend to update legal basis ([consent information](/references/references/emarketeer-gdpr-overview/how-does-consent-work)) as part of the import, make sure every contact in the file shares the same legal basis.

<div align="left" data-with-frame="true"><img src="/files/riXuak6rIlwhQdGfwVN6" alt="Example of an Excel file with three contacts"></div>

Example of an Excel file with 3 contacts

## Where to import?

At this point you have an Excel file ready to go. Where you perform the import depends on what you want to do with the contacts. Most often you want to make a specific email sendout. The question is whether you want to send to them immediately or store them for later.

### Import as a recipient source

When sending emails you can choose one or more sources for your recipients. The File upload option lets you import contacts from an Excel file (or text file) and use them as recipients in that send. It is an efficient way to use contacts from a file without creating a contact list first.

\[

<div align="left" data-with-frame="true"><img src="/files/vEFF8jLO3GtelRu7wvQG" alt="File upload option when sending an email"></div>

File upload option when sending an email.

### Import to a campaign

If you want to prepare your campaign ahead of sending, you can import the contacts straight to the [campaign contacts list](/guides/guides/campaigns/campaign-contacts). You can then use the "All Contacts in this Campaign" option to address that selection.

Note that the campaign contacts list updates dynamically as new contacts interact with the campaign, so there may be additional contacts beyond those from the Excel file when you address this source. This option suits empty campaigns you want to prep with contacts ahead of time, or campaigns where you want to add to an existing contact list. It does not suit campaigns with multiple purposes or recipient types.

<div align="left" data-with-frame="true"><img src="/files/B3x7LXjvZOvYxlqugeAm" alt="Import contacts option in a campaign"></div>

Import contacts option in a campaign.

### Import to a contact list

If you intend to use the contacts more than once, add them to a contact list. You can then address the same contacts across multiple sendouts without re-importing. Contact lists are commonly used for newsletter subscription lists, lists of internal contacts, or a test group for draft emails.

If you need to create a new contact list as a destination for your import, [this guide](/guides/contacts-lists/new-contact-list) shows you how.

\[

<div align="left" data-with-frame="true"><img src="/files/BXkKfejRyXPm6cGymZVd" alt="Import Contacts option in the Contacts tab"></div>

Import Contacts option in the Contacts tab.

## Importing and field mapping

Once you have chosen the method of import, the next step is the import itself. Choose File Upload and select Excel File.

The next view contains instructions on how to proceed:

1. Open your Excel file.
2. Select the cells you want to import and copy them.
3. Paste the copied cells in the empty text area.
4. Click Next.

<div align="left" data-with-frame="true"><img src="/files/sUHQfaVNJH2LTzNoUaDp" alt="An empty text area"></div>

An empty text area

### Field mapping

Next you select the columns to import. The default setting is Do not import unless the value in the first row of a column matches an entry in the drop-down menu, in which case it is pre-selected. To import a column, choose the option that matches its data type. For example, the column that contains email addresses should be set to E-Mail.

\[

<div align="left" data-with-frame="true"><img src="/files/6cW2JNcFh46HCJNzRJGc" alt="Matching the column with the eMarketeer contact fields"></div>

Matching the column with the eMarketeer contact fields

### Import options

By default, matching is done on email address. If a matching email address is found, the existing contact is updated with the new information. If no match is found, a new contact is created. You can also match on External ID if one of your data columns has that data type. This updates contacts that share an External ID, which is useful if you want to update their email address. If no match is found, a new contact is created.

If the import runs under Contacts, you can also import contacts to an existing contact list using the Import to List option.

<div align="left" data-with-frame="true"><img src="/files/WwWFdY3BQXGK0nz36Xie" alt="Import options"></div>

Import options

### Legal basis

Finally, you can update the legal basis for the contacts in your file. This creates or updates the legal basis for every imported contact, so make sure your selection accurately reflects the legal basis for each individual in the file. [Read more about consent here](/references/references/emarketeer-gdpr-overview/how-does-consent-work).

A withdrawn consent is not changed by a contact import. You cannot revoke a withdrawal through import.

\[

<div align="left" data-with-frame="true"><img src="/files/pqeCgTGRZNfOstlIbsfL" alt="Example of how to set Consent as the legal basis for each Purpose"></div>

Example of how to set "Consent" as the Legal Basis for each Purpose.

When ready, click Import Contacts to start the import. The time it takes depends on the number of contacts and columns. A small list of a few hundred contacts and a handful of columns typically takes a few seconds, while larger lists take longer. A progress bar runs during the import.

When the import finishes, the results show how many contacts were updated, created, and skipped. If the import did not produce the expected results, this report helps you understand the problem. Contacts with invalid email addresses appear in the "Bad e-mail addresses" text area (visible after clicking Show list). You can copy that text into another Excel document for review.

<div align="left" data-with-frame="true"><img src="/files/8tDIjgl0WmmA3ZS4bLqN" alt="Results of the import"></div>

Results of the import


# Tags

How tags work in eMarketeer: assigning keywords to contacts and campaigns to classify and filter them.

Tags are keywords you assign to contacts and campaigns to classify them.

A tag is a piece of information that describes the data or content it is assigned to. Tags are nonhierarchical keywords used for bookmarks, images, videos, files, and so on. A tag does not carry any information or semantics on its own.

Tagging serves several purposes, including:

* Classification.
* Marking ownership.
* Describing content type.
* Online identity.

### How tags are used in eMarketeer

Tags can be used on campaigns and contacts for many purposes.

#### Campaigns

Tags on campaigns let you define what the campaign is about. For example, tag your newsletter campaigns with "Newsletters" and "Sweden" while tagging other campaigns with "Events" and a specific product area.

Tags on campaigns let you separate engagement in the filter by tag — for example, get all contacts who answered any event form, or all contacts who opened any Swedish newsletter.

#### Contacts

Tags on contacts help you segment in a more nuanced way. Set tags manually on a contact, use bulk action to tag a list of contacts, or use journeys to add or remove tags when contacts perform certain actions.

### The tag widget

You find the tag widget in a campaign (top right corner) or on the contact card. To add a tag, click the plus icon next to the tag widget to open it.

<div align="left" data-with-frame="true"><img src="/files/zA2Va3s9NJZHtNGfB3wZ" alt="Tag widget with the add icon"></div>

<div align="left" data-with-frame="true"><img src="/files/rlTrnQOlJRGSgakhsN8I" alt="Tag widget expanded"></div>

#### Tag categories

Each tag belongs to a category. Categories group related tags — for example, "Contact interests", "Contact types", or a category just for campaigns.

#### Create a new tag

If the tag you want doesn't exist, create it by clicking "Create new tag".

<div align="left" data-with-frame="true"><img src="/files/cegchJgprYlEm6fykfCG" alt="Create new tag dialog"></div>

Give the tag a title. In the droplist, choose the category it belongs to. If no category fits, type a new category name and it will be created. Pick a color for the tag and click "Create tag".

#### Deleting a tag

To remove a tag completely, open the tag widget and click the edit button next to the tag title. Then click "Delete". This removes the tag from eMarketeer and from all contacts and campaigns that used it.

### Add tags to contacts or campaigns

In the list of tags, check the checkbox in front of the tag you want to assign.

### Remove tags from a contact or campaign

There are two ways to remove a tag:

1. In the campaign or on the contact card, hover over a tag and click the "x" to remove it.

   <div align="left" data-with-frame="true"><img src="/files/4QYGINuVDib923nO5YXa" alt="Tag with remove icon shown on hover"></div>
2. Open the tag widget and uncheck the checkbox in front of the tag.


# How to Create a New Contact List

How to create a new contact list — a static group of contacts you can use as the audience for a campaign send.

A contact list is a static segmentation of contacts. You decide which contacts belong to it and use the list as the audience when you send a campaign.

<div align="left" data-with-frame="true"><img src="/files/OZtD20D6YHrtvhLBbeG4" alt="The four steps to create a new contact list, shown in sequence in the eMarketeer interface"></div>

The steps to create a new contact list.

## Step-by-step

1. Open the Contacts page by clicking Contacts on the page banner.
2. Open the Contact List page from the left navigation.
3. Click Add Contact List above the list of existing contact lists.
4. Enter a name and click ADD to create the list.

{% hint style="info" %}
Contact lists can also be added from the [Bulk Actions](/guides/contacts-lists/bulk-actions-tool) tool — select the contacts you want and add them to a new or existing list.
{% endhint %}

## What to do next

To import contacts from Excel into the new list, see [Import contacts from Excel](/guides/contacts-lists/import-contacts-from-excel).


# Lead management

An overview of eMarketeer Leads: how to set up sales teams, qualify contacts by score and persona, and deliver leads to sales in real time.

eMarketeer Leads lets marketing qualify contacts by engagement and persona, then deliver them to sales teams in real time.

The lead board gives sales an intuitive way to qualify and progress leads. This guide covers three areas:

1. Setting up sales teams and delivering qualified leads to them.
2. Working with leads as a sales user.
3. Using eMarketeer Leads inside your CRM.

<div align="left" data-with-frame="true"><img src="/files/CdDhtO406YFBXhk9THDY" alt="eMarketeer lead board with qualified leads"></div>

## Generate and deliver leads to a sales team

Qualifying and delivering leads requires three pieces:

* **Sales teams** Leads can only be delivered to sales teams. You can have one team or many. [Create a sales team](/guides/lead-board-scoring/sales-teams)
* **Lead streams** A lead stream is a set of qualification rules (a filter). Any contact that matches the filter is qualified as a lead and delivered to the selected sales team or teams. [Create lead streams](/guides/lead-board-scoring/lead-streams)
* **Sales users** A sales user has access to the lead board for processing leads, and always belongs to a team that receives leads. [Create sales users](/guides/lead-board-scoring/sales-users)

## Working with the lead board

Once leads come in, sales users open the lead board to review enriched leads and move them down the funnel.

[Open the lead board guide](/guides/lead-board-scoring/the-lead-board)

## Lead board and SuperOffice

The eMarketeer lead board works fully inside SuperOffice. Learn how the lead board and SuperOffice work together.

[Lead board and SuperOffice](/integrations/superoffice/lead-board-and-superoffice)


# How to set up your lead scoring model and lead scoring mistakes

How to design a lead scoring model that reflects your sales process, including the most common mistakes to avoid.

This article shows how to build a lead scoring model that fits your business and lists the mistakes to avoid.

To get started with lead scoring, decide what to score your contacts on. eMarketeer ships with [default score rules](/references/references/default-score-rules-in-emarketeer) to give you a head start, but lead scoring works best when it is tailored to your business and sales process. Build the model together with your sales team — their insights matter here.

If you already know what you want to score on, use the [tutorial on how to set up score rules in eMarketeer](/guides/lead-board-scoring/how-lead-scoring-works-in-emarketeer).

## A few notes about lead scoring

### What is lead scoring?

Lead scoring identifies marketing qualified leads (MQLs) and shows how ready a contact is to buy. You assign points based on a contact's interest in you and how well they fit your buyer persona. When the score reaches a defined threshold, the contact is an MQL and marketing can hand them to sales. The higher the score, the more sales-ready the contact.

### Why use lead scoring?

* **Sales and marketing alignment.** Lead scoring is a joint activity. When the model reflects insights from both teams, fewer contacts fall through the cracks and both teams agree on what qualifies a lead.
* **Focus on the most relevant contacts.** Lead scoring identifies MQLs so the sales team can spend time on contacts most likely to buy.
* **Find the right timing for sales.** A contact who just visited your site or liked a social post is not ready to be sold to. A scoring model aligned with the buyer's journey helps sales reach out at the right moment.

## 3 steps to build your lead scoring model

A lead scoring model defines what to score on, how many points qualify a contact as an MQL, and how many points each rule is worth.

### 1. What should you score on? Your customers have the answer

First, decide which rules to score on — the actions and attributes that matter for qualifying a contact. There are two types of rules:

* **Explicit scoring** is based on how well the contact matches your buyer persona — demographics and company profile.
* **Implicit scoring** is based on marketing engagement and behavior.

Explicit scoring is based on profile, implicit on behavior. Both matter.

To decide what to score on, look at your customers. Start with demographics and company profile — country, job title, industry, company size, and so on. Then analyze behavior. Map the marketing content they consumed and how they engaged with it before becoming a customer. Which emails did they click? Which web pages did they visit? What did they download? Did they attend webinars or events? Also consider activities and campaigns you have planned.

Look at sales conversions for each data point too. Some are closer to a sale than others — a request for a product demo usually converts more often than a newsletter sign-up.

To sum up, look at:

* Customer company profile and demographics
* Previous marketing engagement
* Sales conversions for the actions and attributes

Use this data to build your buyer personas. Your personas might look like this:

<div align="left" data-with-frame="true"><img src="/files/eBWWajHTfm4RdgqalnzT" alt="Examples of buyer personas."></div>

The data points in your personas become the basis for your score rules. The more a future contact matches your personas, the more points they earn. This step takes analysis, but the better you understand your customers, the better you score future contacts.

### 2. When is a contact marketing qualified (MQL)?

Many lead scoring models use a 1–100 range, which is the range the default score sets in eMarketeer assume. A 1–10 range also works, but 1–100 gives you more precision. Pick a range and set your sales threshold — the score at which a contact is an MQL and ready for sales. For example, 80 or more.

Marketing and sales should agree on this threshold. To make a contact's "hotness" easier to read, set thresholds across the full range:

<div align="left" data-with-frame="true"><img src="/files/QW02KiOTvQxlgVCxbtX9" alt="A diagram showing lead score thresholds from cold to hot."></div>

### 3. Set points for each rule

Now decide how many points each rule is worth. A few things to keep in mind:

* **Set different points for different rules.** Rules closer to a sale should be worth more. Use the sales conversion data you gathered earlier as a guide.
* **Combine several rules into one.** An email open on its own may not be worth much. Combined with a click and several landing page visits, it shows real interest. Combine criteria so the contact must fulfill all of them to earn the points.
* **Don't be afraid of negative scores.** Lead scoring can also surface contacts that are not a fit. Use negative rules for behavior that is unlikely to lead to a sale — for example, "student" as job title or a country you cannot ship to. When a contact fulfills a negative rule, points are removed.
* **Consider time frame and occurrence for engagement rules.** A click from three months ago is less meaningful than one from yesterday. Set a time frame so points only apply within a recent window. You can also set how many times a contact must do an action before they earn the points — for example, three landing page visits instead of one.
* **You can score just for having information on the contact.** The more you know about a contact, the more qualified they may be. A contact with a phone number on their card may be closer to a sale than one with only an email address. You can award points for the presence of a field.

List your rules, how many points each is worth, and when they expire. The list might look like this:

<div align="left" data-with-frame="true"><img src="/files/0gth7Uv5fwtrNse0pPHd" alt="A list of lead score rules with points and expiry settings."></div>

### 4. Put your lead score into action

It is now time to put your rules into action. [Follow this guide on how to set up score rules in eMarketeer.](/guides/lead-board-scoring/how-lead-scoring-works-in-emarketeer)

## Common lead scoring mistakes

* **Leaving your model untouched.** A lead scoring model needs constant tweaking as you learn more about your customers. Watch whether your MQLs convert to customers. If conversion drops, the model probably needs an update. Sync with sales regularly and accept that the model is never finished.
* **Forgetting negative scores.** Lead scoring finds the contacts most likely to buy — and filters out the ones who are not. Add rules for undesired behavior, such as "student" as job title, the wrong company size, or visits to your job listings.
* **Awarding the same points to every rule.** Some engagement is closer to a sale than others. A product demo request beats a newsletter sign-up. Reflect that in the points.
* **Not considering a time frame.** A visit to your pricing page yesterday is meaningful. The same visit a year ago, with no activity since, is not. Without a time frame, scores stop reflecting current intent. Treat the time frame as an expiry date on the points.

Good luck building your model. [You can also use this guide for help implementing it in eMarketeer.](/guides/lead-board-scoring/how-lead-scoring-works-in-emarketeer)


# Lead streams

How to create lead streams — rule sets that automatically deliver Marketing Qualified Leads to a sales team when contacts match the criteria.

A lead stream is a set of rules that generates Marketing Qualified Leads (MQL) for Sales to process.

Whenever a contact matches the rules of a lead stream, the contact becomes a lead and is delivered to a chosen sales team. Once set up, a lead stream delivers leads continuously.

## Create a lead stream

Open the lead board by clicking Leads in the top menu.

To set up a new lead stream, click the settings cog wheel in the lead streams box.

<div align="left" data-with-frame="true"><img src="/files/U7fc5MnWCwAE6XVtlJFj" alt="Lead streams cog wheel on the lead board"></div>

This opens the lead stream page, where you can create or manage lead streams.

Click Add lead stream to create a new one.

<div align="left" data-with-frame="true"><img src="/files/hr3oJqRP7WJZqllOB6xX" alt="Add lead stream button"></div>

A lead stream needs three things:

* A name and an optional description
* A set of filter rules
* One or more sales teams to deliver leads to

### Add a new rule

Click Add new rule to add the first criterion for becoming a lead.

In this scenario we want to find contacts with high lead scores.

<div align="left" data-with-frame="true"><img src="/files/RyBFxTOb734tzVj2Z6tI" alt="Adding a lead score rule"></div>

Click Apply to add the rule. Add other rules to expand or narrow which contacts qualify as leads.

### Choose a sales team

Check one or more sales teams that should have access to this lead stream.

### Enable the new lead stream

You have the following options on a new lead stream:

* Enabled / Disabled — a new lead stream starts inactive. Toggle the switch to Active to set it live. From that moment, any new matches to your rules generate leads.
* Clear leads — you can clear the lead stream of all leads at any time. This removes the leads from the lead board that match this stream. The stream must be inactive for this option to be available.
* Fetch history — a lead stream only generates leads from new matches. For example, if you want to make leads from contacts who answer a form, the stream generates leads only from form submits that come in while the stream is active. To make leads from past matches, click "Fetch ALL leads from history" to generate the historical leads once. The stream must be active for this option to be available.

## Check the results

Head back to the lead board to see the new leads.

<div align="left" data-with-frame="true"><img src="/files/zIRqj6PnbZF2dId0wsw1" alt="New leads visible on the lead board"></div>


# Sales teams

How to create and configure sales teams so each team receives only the qualified leads most relevant to it.

Leads in eMarketeer are delivered to a sales team. Sales users in the same team share incoming qualified leads.

If your marketing activity spans multiple markets, brands, or product categories, create multiple sales teams so each one receives only the leads relevant to it.

## Create a sales team

Creating a sales team requires admin privileges.

1. Open Settings from the top menu and click User accounts.
2. Open the Sales teams tab.
3. Click Create new team.

   <div align="left" data-with-frame="true"><img src="/files/ip0ciqIcXlJXi3BUB9rc" alt="Sales teams tab with the Create new team button visible"></div>
4. Give the team a name. If you already have sales users, tick the ones who should be members.
5. Click Save changes.


# Sales users

How to grant a user access to sales features so they can work on the lead board as part of a sales team.

A user in eMarketeer can have access to both marketing and sales features. With sales access, the user can work in a sales team on the lead board.

Managing users requires admin privileges.

Open Settings and choose User Accounts to see the current users and their privileges.

<div align="left" data-with-frame="true"><img src="/files/C7d6LYlqW3o6hoo5ZbII" alt="User Accounts list showing existing users and their assigned privileges"></div>

## Create a new sales user

1. Click Create User.
2. Enter the email address of the new user.
3. Enable Sales leads with the checkbox, then tick one or more sales teams the user should belong to. A user can belong to one or more sales teams.

   <div align="left" data-with-frame="true"><img src="/files/Ukc76EKMltUvc1QSLOtJ" alt="Create User form with Sales leads enabled and sales teams selected"></div>
4. Click Create user and send login email.

The user is notified by email to set a password and complete the profile.


# The lead board

An overview of the lead board: how marketing-qualified leads appear and how sales works them down the funnel toward a sale.

The lead board is where contacts qualified by marketing as leads are delivered to your sales team.

The purpose of the board is to let sales evaluate leads and move them down the funnel to a sale.

<div align="left" data-with-frame="true"><img src="/files/KoSChlZs6eZrsJLI073C" alt="The lead board"></div>

### The process

A fresh lead lands in the MQL stage. Your job is to validate MQLs and move them down the funnel. If a lead is interesting, move it to the next stage. If it disqualifies at any point, move it to "Lost / No opportunity" — this also gives important feedback to your marketing team.

### The features

Several features help you work the sales process.

#### Filtering

To narrow the leads on your board, use these filters:

* **Lead streams.** By default the board shows all leads regardless of source. Click a specific lead stream to show only leads from that stream.
* **Date range.** Show only leads generated in a specific date range. If you don't find what you're looking for, expand the date range.
* **Filters.** Above the stages, filter to show all leads, only leads assigned to you, or hidden leads.
* **Contact category.** Show leads from all categories or only one, such as prospects, customers, or others.
* **Search.** Search by email, name, or company to find a specific lead.

### The contact card

<div align="left" data-with-frame="true"><img src="/files/uPOXakFZb62cmnEVCjuc" alt="Contact card with the lead tab open"></div>

Click a lead on the board to open the contact card. The first tab is the lead tab, which shows everything relevant for managing the lead.

From here you can:

* See which lead streams the contact has matched and the description.
* Change the category of the lead to prospect, customer, or other.
* Change the lead stage.
* Assign the lead to yourself or someone else.
* Hide the lead from the board.

You also have direct links to the contact's email and corporate website.

The other tabs on the contact card let you:

* Review the full engagement timeline.
* Edit the contact information.
* Make notes.

There is also a link to the company card.

### The company card

From the lead board or the contact card, open the company card to see a summary of the company. The company is identified by the domain in the lead's email address.

<div align="left" data-with-frame="true"><img src="/files/98sRI2SgUeOfb4zOrH3b" alt="Company card"></div>


# How lead scoring works in eMarketeer and tutorial

How to set up lead score rules step by step, where to view each contact's score, and how to filter contacts by score.

Lead scoring shows how sales-ready your contacts are by awarding points based on persona fit and engagement.

In this article, you learn how to set up lead score rules step by step, where to see each contact's lead score, and how to filter contacts by their score.

## Introduction: what is lead scoring?

With lead scoring, you see how sales-ready your contacts are and identify marketing qualified leads (MQLs). You award points based on how well a contact fits your buyer persona and how engaged they are with your marketing. You decide which criteria matter and set up score rules around them. The higher the score, the more sales-ready the contact, and the more confidently you can hand them to sales.

With lead scoring you can:

* Set up rules based on marketing engagement, contact card fields, and contact lists — including when points expire.
* See each contact's lead score on every contact list and on the contact card.
* Filter contacts by score — for example, all contacts above 50.
* Export contacts as a file and hand them off to sales.

## Key terminology

* **Lead score:** the number of points a contact has.
* **Score rules:** the criteria a contact must fulfill to gain or lose points.
* **Score set:** a container for one or more score rules. Use score sets to group rules — for example, one set for engagement rules and one for buyer persona criteria. If you sell more than one product, you can use a score set per product.
* **Explicit scoring:** rules based on persona attributes, such as demographics or company profile.
* **Implicit scoring:** rules based on behavior, such as clicks.

## How to use lead scoring in eMarketeer

Before you head into eMarketeer, decide on your lead scoring model. eMarketeer ships with some default score rules to give you a head start, but no model fits every business. Tailor the rules to your sales process, and build the model together with your sales team.

[Guide: how to build a lead scoring model and common lead scoring mistakes](/guides/lead-board-scoring/how-to-set-up-your-lead-scoring-model-and-lead-scoring-mistakes)

### You can score on the following in eMarketeer

Marketing engagement:

* Any engagement
* Email — opened or clicked a link
* Form — visited, submitted, or answered in a specific way
* Landing page — visited or clicked a link
* SMS — clicked
* Website — visits. To score web visits, [install the web tracker script on your website](/references/references/web-tracker/installing-the-web-tracker-script-on-your-website).

Information on the contact card:

* Any field on the contact card. You can score on whether the field has any value or matches a specific value — for example, job title is set or job title equals CEO.

Contact lists:

* Whether the contact is in a specific contact list.

## How to set up score rules in eMarketeer

### Set up score rules step by step

{% stepper %}
{% step %}

### Open lead scoring

Click "contacts" in the top navigation and then "lead scoring" in the left-hand menu. This view shows all your score sets and their active status.

<div align="left" data-with-frame="true"><img src="/files/60hwMSGTRfOTF1PClu0L" alt="Lead scoring view in eMarketeer."></div>
{% endstep %}

{% step %}

### Add a score set

To add your own rules, click "add score set." Name the score set after the kind of rules it contains — for example one set per product, or a set for engagement rules.

<div align="left" data-with-frame="true"><img src="/files/2gEL23HaYaGLpBJwAQD1" alt="Naming a score set."></div>
{% endstep %}

{% step %}

### Add a rule

Click "add a new rule" and give it a clear name.

<div align="left" data-with-frame="true"><img src="/files/l5U3tgXiFuWoIhfCrcvT" alt="Naming a rule."></div>
{% endstep %}

{% step %}

### Build the rule criteria

Rules are built the same way as filters in eMarketeer. The first drop-down chooses the category: engagement, contact card fields, or contact list membership.

<div align="left" data-with-frame="true"><img src="/files/3iZTssxS1smBoN0HStgY" alt="Choosing a rule category."></div>

For a webinar registration, choose engagement -> form -> the specific form -> submitted.

<div align="left" data-with-frame="true"><img src="/files/DZGqBA2SzJuP3RM9LlHn" alt="Building a rule for a webinar form submission."></div>

Next, consider occurrence — how many times the contact must do the action to get the points. Then consider time frame — for example, only the past 30 days.

<div align="left" data-with-frame="true"><img src="/files/0q6lkLC75A1pJuh0JrD3" alt="Choosing occurrence for a rule."></div>

<div align="left" data-with-frame="true"><img src="/files/CmZ8KHh3N58bGpnPkHa5" alt="Choosing a time frame for a rule."></div>

To narrow a rule further, add another criterion. For example, the contact signed up for the webinar AND visited a landing page three times. Click "AND" and repeat the steps for the second criterion.

<div align="left" data-with-frame="true"><img src="/files/pulTUzCSAeIxR1OuUopu" alt="Combining criteria with AND."></div>
{% endstep %}

{% step %}

### Apply the rule

Click "Apply."
{% endstep %}

{% step %}

### Set the point value

Set how many points the rule is worth. You can also remove points instead of adding them. Use negative points for behavior that is unlikely to lead to a sale — for example, "student" as job title, a visit to your careers page, or a country you cannot ship to.

<div align="left" data-with-frame="true"><img src="/files/R2UJ4eJMiJ82lUULipFW" alt="Adding points to a rule."></div>
{% endstep %}

{% step %}

### Activate the score set

When the score set has all the rules you want, set it to active and click save. Scores are calculated for each contact. After adding or editing a rule, there can be a short delay before scores update — usually a few minutes, depending on database size.

<div align="left" data-with-frame="true"><img src="/files/l5y9eKbPC1K9pPzuaAmZ" alt="Activating a score set."></div>
{% endstep %}
{% endstepper %}

### See each contact's lead score and score summary

Contacts are scored when they fulfill any of your rules. You see the score on every contact list and on the contact card. On the contact card, the "score summary" tab shows how the contact earned their points. The graph shows the score over time. Below the graph, a breakdown lists every fulfilled rule and when those points expire.

<div align="left" data-with-frame="true"><img src="/files/7wZtB2gz9wFWbWBTvWYk" alt="A contact profile showing a list of lead score rules that the contact fulfilled along with the current lead score the contact has."></div>

### Filter out your MQLs and hand them to sales

To find contacts that reached a specific score — say 80 or higher — use filters. Go to contacts -> filter and choose "score" in the drop-down. You can then list contacts above or below your sales threshold.

<div align="left" data-with-frame="true"><img src="/files/YglsB3WDUmJRmErwsJqq" alt="Filtering contacts by lead score."></div>

With a selection, you have two buttons on the right: bulk actions and export contacts. Use bulk actions to update the selection — for example, add the contacts to a list. Use export to download the contacts as a text file or send them to a selection or project in SuperOffice. For SuperOffice export, the contacts must already be known in SuperOffice.

<div align="left" data-with-frame="true"><img src="/files/vlESDU9LZgIpM0ZdfcgE" alt="Bulk actions and export buttons on a contact list."></div>


# Dashboards

eMarketeer's dashboards: Marketing Performance, Traffic Analyzer, Operational Report, and Email Health.

See how your marketing performs, how visitors move from first touch to qualified lead, what is happening in your account right now, and how healthy your email sending is.

{% columns %}
{% column %}
{% content-ref url="/pages/bC9RzPZvpFljhXmU75W3" %}
[Marketing Performance](/guides/dashboards/marketing-performance)
{% endcontent-ref %}

{% content-ref url="/pages/V5UDubURehBFkkD1aGBF" %}
[Email Health Dashboard](/guides/dashboards/emailhealthdashboard)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/sNcwisMLzPj76PzHSmgF" %}
[Traffic Analyzer](/guides/dashboards/traffic-analyzer)
{% endcontent-ref %}

{% content-ref url="/pages/BSPLgfS3LVsIng07Rkhg" %}
[Operational Report](/guides/dashboards/operational-report)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# Marketing Performance

The Marketing Performance dashboard brings website traffic, campaign engagement, conversions, and leads into one view of what drives your marketing.

The Marketing Performance dashboard brings your website traffic, campaign engagement, conversions, and leads into one view, so you can see what is actually driving your marketing. It replaces the old **Home** section and is the landing screen you see when you open eMarketeer.

Most teams run across many channels, campaigns, and activities, and the answer to "what is working" is spread across separate reports. This dashboard pulls those signals into one place and answers a single question: what is really driving my marketing?

## What you can use it for

* See which channels and campaigns bring in qualified leads.
* Compare conversions and MQLs against previous periods.
* Follow the full funnel from MQL through SQL and Opportunities to Won.
* Spot which new MQLs land on your Lead Board.
* Judge what to invest in next, based on what already performs.

## The KPI tiles

A row of tiles across the top summarises your outbound activity and how contacts move toward becoming qualified leads.

| Tile            | What it counts                                             |
| --------------- | ---------------------------------------------------------- |
| Outbound        | Outbound activity sent from eMarketeer, such as emails.    |
| Engaged         | Contacts who engaged with your outbound activity.          |
| Converted       | Leads that converted through forms and other entry points. |
| Enriched        | Contacts whose profiles gained data.                       |
| Nurtured        | Contacts being moved along through nurturing.              |
| Qualified Leads | Contacts that reached qualified-lead status.               |

## The widgets

Below the tiles, each widget focuses on one part of the performance picture.

**Traffic Source over time** plots website traffic across the selected period, so you can see trends and the impact of campaigns as they run.

**Top Traffic Channels** ranks where your traffic comes from — ads, SEO, social, email, and more — so you can see which channels carry the most volume.

**New Conversions** shows conversions in the period, with a comparison to the previous period so you can tell whether you are trending up or down.

**Total MQLs Created** counts the marketing qualified leads generated in the period, again compared to the previous period.

**What's Driving Performance** highlights the campaigns, ads, and forms contributing the most, so you can see what is doing the heavy lifting.

**Lead Source for MQLs** breaks down, as a share of the whole, where your MQLs originated.

**Top Converters** lists the assets converting the best, so you can double down on what works.

**Lead Board Funnel** shows the full funnel from MQL to SQL to Opportunities to Won, so you can see how leads progress toward revenue.

**Latest MQL on Leadboard** surfaces the most recent marketing qualified leads added to your Lead Board.

## Requirements

To see data in this dashboard, you need the Web Tracker installed on your website. If you have not set it up yet, see [Installing the web tracker script on your website](/references/references/web-tracker/installing-the-web-tracker-script-on-your-website).

The forms and the forms script also feed the dashboard. Install the forms script and use forms to get the complete picture.

## What to do next

To trace how visitors move from first touch to qualified lead, open the [Traffic Analyzer](/guides/dashboards/traffic-analyzer).


# Traffic Analyzer

The Traffic Analyzer visualises your full marketing flow, from first touch to qualified lead.

The Traffic Analyzer visualises your full marketing flow, from first touch to qualified lead. It shows how visitors move through your marketing in one connected view, instead of as separate numbers in separate reports.

Use it to understand which sources drive high-quality traffic, see which campaigns and content contribute to conversions, and spot where prospects drop off along the way.

## What you can use it for

* Identify the sources that generate the most leads, not just the most traffic.
* See which campaigns and content move people toward conversion.
* Find the drop-off points where prospects fall out of the flow.
* Trace which efforts ultimately produce marketing qualified leads.

## Reading the flow

The dashboard draws your marketing as a flow that reads left to right. Each stage feeds the next, and the width of each path reflects how much volume moves through it.

<div align="left" data-with-frame="true"><img src="/files/ChRVcZ6HYpxfb8k7h1Tj" alt="The Traffic Analyzer flow, reading left to right from traffic source to qualified lead."></div>

The stages are:

1. **Traffic Source** — where the visit originated.
2. **Marketing source** — the channel or medium behind that traffic.
3. **Campaign** — the specific campaign tied to the visit, read from the `utm_campaign` parameter. eMarketeer adds UTM parameters to its own links automatically (for example, links in emails), using the eMarketeer Campaign name as `utm_campaign`. For the best traceability, tag your other links consistently too.
4. **Conversion** — the conversion the visit produced. This tracks submissions of eMarketeer forms embedded on your site.
5. **Contact Type** — the kind of contact that converted: new or existing.
6. **Marketing Qualified Lead** — whether the contact became an MQL during the selected period.

Following a path from left to right shows you the full journey: which source, through which campaign, led to which conversions, and ultimately to qualified leads.

## Controls

A set of controls lets you shape the view:

* **Show/Hide Values** — toggle the numeric labels on each path.
* **Top 5 / Top 10 / Top 15** — limit the view to the strongest paths so the flow stays readable.
* **Readable** vs. **True Scale** — switch between a balanced layout and one where widths reflect exact proportions.
* **Date range** — focus the flow on a custom period.

## Node options

Click any node in the flow to open two options: **Drill down** and **Filter**.

<div align="left" data-with-frame="true"><img src="/files/VHzhkgjWcAWD8Gyb9Cas" alt="The Drill down and Filter options shown when a node is clicked."></div>

### Drill down into a node

This is where it gets interesting. The drill-down report shows how a single node relates to the rest of your traffic — the sessions, conversions, and leads behind it.

A few examples:

* **Paid Social** — drill down to see how your paid social channels perform over the period: how many sessions they created, how many conversions, and how many leads (MQLs) came from that source.
* **Campaign** — drill down on a specific campaign to see how it performs in numbers: which traffic and marketing sources drove the most traffic to it, and how well it converts and generates leads.
* **MQL** — to see what drives new leads, drill down on the MQL node. It ranks the traffic sources, marketing sources, campaigns, and conversion points at each stage, so you can see which performs best. To start working with leads, see [Lead management](/guides/lead-board-scoring).

### Filter

Choose **Filter** to narrow the whole report to only the traffic that passed through the selected node. It is another way to see what the drill-down report describes, shown in the flow itself.

## Requirements

The Traffic Analyzer requires the Web Tracker installed on your website. Without it, the flow has no traffic data to draw from.

## What to do next

For a higher-level view of campaigns, conversions, and leads, open the [Marketing Performance](/guides/dashboards/marketing-performance) dashboard.


# Operational Report

The Operational Report gives you an at-a-glance overview of ongoing work in your account — recent sendouts, form submissions, campaigns, journeys, and newly created components in one view.

The Operational Report gives you an at-a-glance overview of what is happening in your account right now. It pulls your most recent sendouts, form submissions, campaigns, journeys, and newly created work onto a single screen, so you can see ongoing activity without opening each report separately.

Use it as your starting point: check what just went out and what is scheduled next, see what people are submitting, watch which campaigns and journeys are active, and follow how website engagement lines up with your email sends. Component and contact names throughout the report are links — click them to open the component report or the contact card.

## What you can use it for

* See ongoing work across the account in one place — sendouts, forms, campaigns, journeys, and recently created components.
* Jump straight to the detail: component and contact names link to the component report or the contact card.
* Correlate website engagement with your email sends to see how traffic responds to what you send.
* Check what is scheduled to go out next, not only what has already sent.
* Keep an eye on which campaigns and journeys are currently active.

## The widgets

Most widgets always show the latest activity in your account. Only the Sendouts and Web Sessions graph at the top responds to the date range selector — the other widgets are unaffected by it.

**Sendouts and Web Sessions** is the timeline at the top. It plots your email sendouts alongside website sessions over the selected period, so it works both as your account's email timeline and as a way to correlate website engagement with what you send. Use the date range selector (top right) to change the period — this is the only widget the date range affects. Below the graph, each email icon and number marks the emails sent on that date; click one to see which emails went out that day and to open an individual component report.

<div align="left" data-with-frame="true"><img src="/files/TIzhmlcKsKCFjv7ZQhdw" alt="The Sendouts and Web Sessions timeline, plotting email sendouts against website sessions, with clickable email markers below the graph."></div>

**Recent Sendouts** lists the five most recent email and SMS sendouts with more than 20 recipients, with open rate, clicks, CTR, and CTOR. Toggle it to **Scheduled** to see the upcoming sendouts closest in time instead. Click a component name to open its component report.

**Latest Sendout** highlights your single most recent sendout, with a shortcut to its report.

**Latest form submits** shows the five most recent form submissions, including the form and its campaign and the contact who submitted. Click a contact to open their contact card, or open the submission details.

**Active Campaigns** lists the campaigns with the most current engagement, with clicks, conversions, and MQLs. Click a campaign to open its report.

**Active Journeys** shows the most recently triggered journeys, with the latest contact to move through and counts of how many contacts are in the journey and how many have completed it.

**Recent created work** lists the most recently created components, with who created each one and when, so you can pick up where the team left off.

## Requirements

The Web Sessions part of the top graph needs the Web Tracker installed on your website. Without it, the graph still shows your sendouts, but no website session data. See [Installing the web tracker script on your website](/references/references/web-tracker/installing-the-web-tracker-script-on-your-website).

## What to do next

For a higher-level view of campaigns, conversions, and leads, open the [Marketing Performance](/guides/dashboards/marketing-performance) dashboard.


# Email Health Dashboard

An actionable view of your email deliverability and sender reputation, so you can catch problems before they affect inbox placement.

High-level KPIs, trend charts, and detailed tables let you spot where issues occur and drill down to the exact domains or accounts that need attention.

## What you can do with the Email Health Dashboard

* Protect your sender reputation by monitoring bounces, complaints, and delivery rates.
* Detect deliverability risks early by spotting negative trends before they turn into blocks or deferrals.
* Track performance over time, not just per sendout.
* Drill down by receiving domain or sending account to find the root cause of issues.

## Date range

All data on the dashboard is calculated from the selected date range.

In the Date range selector, choose one of:

* Relative range — a predefined period such as Last 7 days or Last 30 days.
* Custom range — pick a start and end date manually. To view a single day, set the same start and end date.

The selected range applies to the overview cards, the time series charts, and the Domain and Account tables.

## Overview cards

![Overview cards on the Email Health Dashboard](/files/JbqYDSKYrzbc5vSgRDDr)

The overview cards give you a quick snapshot of your most important email health metrics:

* Total send volume — total number of emails sent.
* Delivery rate — delivered emails as a percentage of total sent.
* Open rate — opens as a percentage of delivered emails.
* Click rate — clicks as a percentage of delivered emails.
* Complaints — spam complaints as a percentage of delivered emails.
* Permanent bounces — permanent bounces as a percentage of total sent.

Each card also shows the change compared to the previous date range, so you can quickly spot improvements or negative trends.

## Metrics charts

![Metrics time series charts on the Email Health Dashboard](/files/oif9IvMjafL5RHoTpUua)

The Metrics section visualizes how your email health develops over time. Two time series charts are shown:

* Volume — sent, delivered, opens, clicks, complaints, and bounces.
* Rate — percentage-based metrics such as delivery, open, click, bounce, and complaint rates.

### Interacting with the charts

* Hover over any date to see exact values for that day.
* Use the Select metrics dropdown to choose which metrics to display.
* Compare multiple metrics to spot correlations — for example, increased volume followed by higher bounce rates.

These charts are useful for catching gradual changes that can signal future deliverability problems.

## Domains table

![Domains table on the Email Health Dashboard](/files/i543bcx2JZWlzL68Fy04)

The Domains table shows how your emails perform for each receiving domain during the selected date range. For each domain, you can see:

* Send volume
* Delivered (%)
* Bounces (%)
* Complaints (%)
* Opens (%)
* Clicks (%)

### How to use the Domains table

* Sort columns to identify domains with high bounce or complaint rates.
* Compare engagement metrics across domains.
* Spot specific receiving domains where reputation issues may be developing.

Only domains with at least 10 sent emails in the selected date range appear in the table.

## Account table

![Account table on the Email Health Dashboard](/files/3yWyA46vtpagpqaXsaEO)

Switch to the Account tab to view email health statistics for the whole account. The table shows volume and rate for:

* Sent
* Delivered
* Complaints
* Transient bounces
* Permanent bounces
* Opens
* Clicks

It also shows the difference (%) compared to the previous date range.

## Understanding bounces and complaints

### Bounces

A bounce occurs when an email cannot be delivered.

* Permanent bounces happen when there is a permanent issue, such as a non-existent address or a receiving server blocking your domain or IP.
* Transient bounces occur because of temporary issues, such as a full inbox or a temporary server problem.

High bounce rates signal poor list quality and can hurt your sender reputation.

### Complaints

A complaint occurs when a recipient marks your email as spam in their email client.

Complaints are a strong negative signal to mailbox providers and can damage your sender reputation quickly if they rise.

## Best practices

To maintain good email health:

* Review bounce and complaint trends regularly.
* Remove inactive or invalid recipients from your lists.
* Watch domains with declining delivery or engagement.
* Act early when you see negative changes — small issues can escalate fast.

The Email Health Dashboard helps you act before deliverability issues affect your results.


# Account settings

Guides for managing your eMarketeer account, users, domains, and settings.

{% columns %}
{% column %}
{% content-ref url="/pages/2MYjXXRzrqlBP9auJl7v" %}
[How to invite users to your account (administrator)](/guides/account-admin/invite-user-account)
{% endcontent-ref %}

{% content-ref url="/pages/RgGrelisrfNn28OxE8KL" %}
[User guide: Enable Multi Factor Login](/guides/account-admin/user-accounts)
{% endcontent-ref %}

{% content-ref url="/pages/g6B5avvv74tHiZcWnGpq" %}
[Custom domain](/guides/account-admin/domains)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/ymlMI9IieGyR20HU7G3q" %}
[Subscriptions](/guides/account-admin/subscriptions)
{% endcontent-ref %}

{% content-ref url="/pages/uG2ETFbVEf0HIpSSJclo" %}
[Log out of eMarketeer](/guides/account-admin/log-out)
{% endcontent-ref %}

{% content-ref url="/pages/lZSVmX64HIFDvDWERl8z" %}
[SMS Sender ID](/guides/account-admin/sms)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# How to invite users to your account (administrator)

How administrators invite a new user to an eMarketeer account from the User Accounts settings page.

This guide shows administrators how to invite a new user to your eMarketeer account.

If you cannot find the User Accounts settings page, you do not have permission to invite or create users. Contact an administrator on your account or technical support for help.

## Open User Accounts settings

Navigate to the User Accounts settings page via the Company Account Settings.

<div align="left" data-with-frame="true"><img src="/files/mxhP2Wdpjpy9DVboVBWt" alt="Account Settings page"></div>

Account Settings page

## Send the invite

On the User Accounts page, click Invite User to start the invite process.

<div align="left" data-with-frame="true"><img src="/files/xmXxLHoFfyuJTgG6QjPR" alt="Invite User button"></div>

Invite User button

This opens the Create New User page. Enter the email address of the new user, select their permissions, and send the invitation email.

* Developer: can access Developer Mode in components for advanced customisation.
* Administrator: can access the Corporate Account Settings and invite users to the account.

<div align="left" data-with-frame="true"><img src="/files/060WJkuizsicEVrKr6nx" alt="Create New User page"></div>

Create New User page

The invite email contains a link to a page where the user can create their account if they do not already have one. If they already have a user account on another account, they gain access to the new account in addition to their existing ones.


# User guide: Enable Multi Factor Login

How to set up Multi-Factor Authentication on your eMarketeer account using an authenticator app.

Set up Multi-Factor Authentication (MFA) for your eMarketeer login in three steps using an authenticator app. For background on MFA, see [this article](/references/references/accounts-auth/multi-factor-authentication).

### Download an authenticator app

Before you start, install an authenticator app on your mobile device if you don't have one. We recommend Google Authenticator or Twilio Authy. Use the links below or search your app store.

{% columns %}
{% column %}

#### Google Authenticator

<div align="left" data-with-frame="true"><img src="/files/xTcnzfy8ASM0hmNhvyJA" alt="Google Authenticator icon"></div>

[![Get it on Google Play](/files/5q8tDUWN7bvo7Sdbg1nk)](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2)[![Download on the App Store](/files/L4wfO2da6Kkg7sAjMEMG)](https://apps.apple.com/se/app/google-authenticator/id388497605)
{% endcolumn %}

{% column %}

#### Twilio Authy 2-Factor Authentication

<div align="left" data-with-frame="true"><img src="/files/xRXviD04BmOOOqp85ZP7" alt="Twilio Authy icon"></div>

[![Get it on Google Play](/files/5q8tDUWN7bvo7Sdbg1nk)](https://play.google.com/store/apps/details?id=com.authy.authy)[![Download on the App Store](/files/L4wfO2da6Kkg7sAjMEMG)](https://apps.apple.com/us/app/twilio-authy/id494168017)
{% endcolumn %}
{% endcolumns %}

## Set up MFA

Follow these steps after you or your admin has enabled MFA on your account. You can also enable it yourself in eMarketeer under Settings → Edit my profile → toggle MFA on.

{% stepper %}
{% step %}

### Go to the eMarketeer login page

Enter your username and password. If MFA is enabled, you see an "Activate MFA" button. Click it.

<div align="left" data-with-frame="true"><img src="/files/EsgyH2OwhS8exVfaQepK" alt="Activate MFA button on the login page"></div>
{% endstep %}

{% step %}

### Set up the app

A QR code appears. Open your authenticator app on your phone and tap "Scan QR code". Scan the QR code on your computer screen. The app shows a six-digit code — enter it on the computer screen and click "Continue".

<div align="left" data-with-frame="true"><img src="/files/40NI4To9dMq9H9Ynve1K" alt="QR code shown during MFA setup"></div>
{% endstep %}

{% step %}

### Save the recovery code

You're now authenticated, but before you continue you're shown a recovery code. Use this code to sign in if you don't have your phone with the authenticator app. Save it somewhere secure. Tick the checkbox to confirm you've saved it, then click "Continue".

<div align="left" data-with-frame="true"><img src="/files/tjrrT7diZGEp4UZKRwN2" alt="Recovery code displayed during MFA setup"></div>
{% endstep %}
{% endstepper %}

## Next time you log in

The next time you sign in, you see a "Verify your identity" prompt. Open your authenticator app, read the six-digit code, and enter it on the login screen. Tick the checkbox to have eMarketeer remember this device for 30 days so you don't need the app on every sign-in.

<div align="left" data-with-frame="true"><img src="/files/ppzc8MeNX7O33pfGK5IM" alt="Verify your identity prompt at sign-in"></div>

If you have any trouble signing in, contact support through the chat box on the login page.


# Custom domain

How to set up a custom domain to replace the default eMarketeer hostname in the links your account generates.

A custom domain replaces the default eMarketeer hostname in the links your account generates.

By default, the domain on your account is `app.emarketeer.com`. That hostname appears in every URL eMarketeer creates for you, including forms, landing pages, and email tracking links.

## Using a via-em.com subdomain as a custom domain

This is the preferred method, because it supports HTTPS. You can claim any unused subdomain of `via-em.com` to brand the links on your account, as long as no other eMarketeer account is already using it.

Example: `https://yourcompany.via-em.com/`


# Log out of eMarketeer

How to log out of your eMarketeer account.

This article explains how to log out of your eMarketeer account.

To log out, click the **Log out** button in the top right corner of the screen. You will be returned to the login page.


# SMS Sender ID

How to create and configure a custom SMS Sender ID so your company name appears as the sender of your SMS messages.

The Sender ID is the text or number shown to recipients as the source of an SMS.

When you receive an SMS from another mobile phone you see the sender's number. When the SMS comes from a service such as eMarketeer, the sender can be a custom text — typically your company name.

<div align="left" data-with-frame="true"><img src="/files/sZOv0Rhj794f8oLinCjs" alt="SMS Sender ID example"></div>

## Create your own Sender ID

To have your company name shown as the sender, contact support and we will set it up for you.

* The Sender ID must be 3–11 characters long, use only A–Z, a–z, or 0–9, and it cannot start with a number or be a phone number.
* Requests are processed manually. During office hours we usually complete them the same day, unless we need more information.
* Send the Sender ID you want and the name of the account where it should be applied to <support@emarketeer.com>.

## Why do I need to apply for a Sender ID?

The ability to customize a Sender ID can be abused for spamming and spoofing. Spoofing is when someone masquerades as another party by falsifying data and gaining an illegitimate identity.

For example, a Sender ID could be set to another person's number to defraud, harass, or impersonate. To prevent abuse while still offering the feature, each customized Sender ID must be registered and authenticated before use.

## Limitations

Most Belgian, US, and Mexican mobile operators do not support alphanumeric sender information. If you send an SMS to a recipient on one of these operators, the Sender ID is replaced with a random-looking number. The same applies to some other features such as multi-part SMS and Unicode. See the [Whitelist of countries supporting SMS Sender ID](/references/references/sms/whitelist-of-countries-supporting-sms-sender-id) for the full list.

Our SMS service provider (46elks) cannot always guarantee that the Sender ID will be displayed.

46elks disables the feature on certain routes, and so does their upstream supplier. Mobile operators often filter text messages, which can result in non-delivery — and the top priority is message delivery, not features. Many operators do not allow SMS aggregators to use the Sender ID feature.

If recipients must know who the message is from, include your company, product, or system name in the first line of the message. Most handsets show the first characters of an SMS in the notification before it is opened.


# Subscriptions

In this guide: how to configure subscription categories, assign them to emails, and let contacts manage their email preferences through the subscription center.

Subscriptions give contacts control over which types of emails they receive, so they can opt out of specific categories rather than unsubscribing entirely. This typically reduces full opt-outs.

You organise your emails into categories — for example, Newsletters, Event invitations, or Special offers. When you send, eMarketeer automatically excludes contacts who have unsubscribed from that category. An email with no category assigned is only filtered for contacts who have fully withdrawn their marketing consent.

## Set up subscription categories

You need administrator access to create and manage subscription categories.

1. In the top navigation, click **Account**.
2. Click **Subscription and send outs**.

   <div align="left" data-with-frame="true"><img src="/files/PG6O9gzmmynY7lMpJDpN" alt="Account menu with the Subscription and send outs option highlighted"></div>
3. Create your categories. Keep names short and clear — contacts see them in the subscription center. Focus on broad communication types rather than very specific ones.

   <div align="left" data-with-frame="true"><img src="/files/41Flg24iadLSTuy3bbAD" alt="Subscription categories management page listing category names"></div>

## Your contacts

All contacts — new and existing — start with every subscription category turned on. To change subscription settings for a group of contacts at once, use the bulk update action on a contact list.

## Create an email

When you create a new email, a subscription category dropdown appears in the email settings. Select the category that best matches the email's content.

<div align="left" data-with-frame="true"><img src="/files/KDhrLg8cX3y8CMCexr3q" alt="Email creation form showing the subscription category dropdown"></div>

If the email does not belong to any category — for example, a one-time notification — set it to **None**. Emails set to None are only filtered for contacts who have fully unsubscribed.

<div align="left" data-with-frame="true"><img src="/files/vhX4vaQNpOOPQCkJDDGU" alt="Email settings panel with the subscription category field set to None"></div>

## Subscription center

The subscription center is a public page where contacts manage their email preferences. It lists all active categories, each with a toggle. Contacts can also check a box to fully opt out and withdraw all marketing consent.

<div align="left" data-with-frame="true"><img src="/files/Jq8CfgEe2qc8uGEm50F6" alt="Subscription center page showing category toggles and a full opt-out checkbox"></div>

The standard unsubscribe link in email footers automatically links to the subscription center.

## Automations

You can change a contact's subscription status automatically using Journey automations. Add a step that triggers when a contact interacts with a component — for example, to remove them from a category after they click a specific link.

***

**Related:**

* [Exclude inactive recipients](/references/references/email/exclude-inactive-recipients)
* [Transactional sendouts](/references/references/email/transactional-sendouts)
* [Whitelisting email servers](/references/references/email/deliverability/whitelisting-email-servers)
* [Automatic send pause](/references/references/email/automatic-send-pause)


# API

The eMarketeer API gives you programmatic access to your account data: upsert and delete contacts, manage lists, trigger sends, and push custom engagement events from external systems.

The API is an OpenAPI-documented REST API. The reference portal at [api-doc.emarketeer.com](https://api-doc.emarketeer.com/) lets you browse all available endpoints, view request and response schemas, and test calls directly in the browser.

{% hint style="info" %}
Your API key is available inside eMarketeer under **Settings** → **Plugins and integration**.
{% endhint %}

## Pages in this section

* [API endpoints overview](/references/apis-developer/api-endpoints-overview) — every endpoint across all six API modules, with a one-line summary of each call.
* [Custom Signals API](/references/apis-developer/custom-signals-api) — push engagement events from external systems into eMarketeer contacts.
* [Send a webhook from Zapier to eMarketeer](/references/apis-developer/send-webhook-from-zapier-to-emarketeer) — trigger eMarketeer actions from Zapier workflows.


# API endpoints overview

A quick map of every endpoint across the eMarketeer REST APIs — contacts, subscriptions, engagement, consent, tags, and messages — so you can find the right call fast.

This page lists every endpoint in the eMarketeer API, grouped by module, with a one-line summary of what each call does. It is a map, not a full reference. For request and response schemas and to test calls in the browser, use the interactive portal at [api-doc.emarketeer.com](https://api-doc.emarketeer.com/).

The API is split into modules, each with its own OpenAPI definition: **Contact**, **Subscription**, **Engagement**, **Consent**, **Tag**, and **Messages**. Every module is a REST API that sends and receives JSON.

{% hint style="info" %}
All calls authenticate with an API key sent in the `x-api-key` request header. Your key is available in eMarketeer under **Settings** → **Plugins and integration**.
{% endhint %}

## Contact

Create, find, and delete contacts, manage contact lists, and read contact custom fields.

* Base URL: `https://connect.emarketeer.com/contacts-api`
* Browse and test: [Contact definition](https://api-doc.emarketeer.com/?urls.primaryName=Contact)

### Contacts

* `POST /v1/contacts` — Create or update up to 100 contacts at a time, matched on email address.
* `GET /v1/contacts` — Find contacts by saved filter, email, or creation/modification date.
* `POST /v1/contacts/delete` — Delete contacts by email address (up to 100 at a time).

### Contact lists

* `GET /v1/lists/` — Get all contact lists.
* `POST /v1/lists/` — Create a contact list.
* `DELETE /v1/lists/` — Delete contact lists.
* `GET /v1/lists/{contactListId}` — Get the contacts in a contact list.
* `POST /v1/lists/{contactListId}` — Add contacts to a contact list (up to 1000 at a time).
* `DELETE /v1/lists/{contactListId}` — Remove contacts from a contact list.

### Contact custom fields

* `GET /v1/contacts/customFields` — List all contact custom fields on the account.

## Subscription

Manage a contact's subscriptions and list the campaigns available to subscribe to.

* Base URL: `https://prod-apigw.emarketeer.com`
* Browse and test: [Subscription definition](https://api-doc.emarketeer.com/?urls.primaryName=Subscription)

### Subscriptions

* `GET /subscriptions/v1/subscriptions` — Get a subscription by email and subscription name.
* `POST /subscriptions/v1/subscriptions` — Add a subscription.
* `DELETE /subscriptions/v1/subscriptions` — Delete a subscription.

### Campaigns

* `GET /subscriptions/v1/campaigns` — List campaigns, newest first, with optional folder filtering and pagination.

## Engagement

Read a contact's engagement with campaign components, and push external engagement signals into eMarketeer.

* Base URL: `https://connect.emarketeer.com/engagements-api/v1`
* Browse and test: [Engagement definition](https://api-doc.emarketeer.com/?urls.primaryName=Engagement)

### Signals

* `POST /signals` — Send a signal: an external engagement for a contact, such as a form submit or a web interaction from another system.

### Engagement by component

* `GET /engagements/contact/{contactId}` — Get all engagements for a contact.
* `GET /engagements/email/{componentId}` — Engagements for an email component.
* `GET /engagements/sms/{componentId}` — Engagements for an SMS component.
* `GET /engagements/form/{componentId}` — Engagements for a form component.
* `GET /engagements/landingPage/{componentId}` — Engagements for a landing page component.
* `GET /engagements/website` — Engagements for a website, by website name.
* `GET /engagements/linkedinLeadGenForm` — Engagements for a LinkedIn Lead Gen Form.

## Consent

Read and record contact consent, and look up the consent master data (purposes, legal bases, sources).

* Base URL: `https://prod-apigw.emarketeer.com`
* Browse and test: [Consent definition](https://api-doc.emarketeer.com/?urls.primaryName=Consent)

### Consent

* `GET /consent-public/v1/consents` — Get consent for a key, or all consents for the current user if no key is given.
* `GET /consent-public/v1/consents/filter` — Get consents matching a filter.
* `GET /consent-public/v1/consents/history` — Get the consent history for a key.
* `POST /consent-public/v1/consents` — Create a consent record.

### Consent master data

* `GET /consent-public/v1/purposes` — List all purposes.
* `GET /consent-public/v1/legalBases` — List all legal bases.
* `GET /consent-public/v1/sources` — List all sources.

## Tag

View, create, update, and delete tags, and assign tags to contacts in bulk.

* Base URL: `https://connect.emarketeer.com/tags-api/v1`
* Browse and test: [Tag definition](https://api-doc.emarketeer.com/?urls.primaryName=Tag)

### Tags

* `GET /tags` — Get all tags, with pagination.
* `POST /tags` — Create a tag with a name, color, and category.
* `GET /tags/{tagId}` — Get a tag by its ID.
* `PUT /tags/{tagId}` — Replace all fields of a tag.
* `DELETE /tags/{tagId}` — Delete a tag.
* `GET /tags/name/{tagName}` — Get a tag by its name.

### Contact tags

* `POST /tags/add-contacts-tags` — Add multiple tags to multiple contacts in one call.
* `POST /tags/remove-contacts-tags` — Remove multiple tags from multiple contacts in one call.

## Messages

Send emails and SMS to contacts.

* Base URL: `https://connect.emarketeer.com/messages-api`
* Browse and test: [Messages definition](https://api-doc.emarketeer.com/?urls.primaryName=Messages)

### Email

* `POST /v1/email/send` — Send an email to one or more contacts.

### SMS

* `POST /v1/sms/send` — Send an SMS to one or more contacts.

## What to do next

For the full request and response schemas, and to try calls live, open the [API portal](https://api-doc.emarketeer.com/). To push engagement events from another system, see the [Custom Signals API](/references/apis-developer/custom-signals-api).


# Custom Signals API

This Guide explains how to use the Signals API to send contact events into eMarketeer.

API reference: <https://api-doc.emarketeer.com/?urls.primaryName=Engagement>

***

Contacts in eMarketeer consist of three main parts:

* Contact fields
* Engagement
* Legal basis (consent)

Engagement records every interaction a contact makes with campaign components such as emails, forms, and landing pages. These interactions appear on the contact timeline and can be used to set lead score, trigger Journeys, and more. They give a 360-degree view of what the contact has interacted with over time.

<div align="left" data-with-frame="true"><img src="/files/hH0P08AHb0czp4lKbG1N" alt="contact timeline showing engagement events"></div>

### Custom Signals

With the Custom Signals API you can send contact events from any other system into eMarketeer, as long as you have the contact's email address. These signals are added as timeline events on the contact and can be used in filters, scoring, Journeys, and lead generation.

In the following scenario, you have an arcade game called "Space Invaders". Each time someone plays the game, you want to record the event in eMarketeer. You could then trigger Journeys based on different criteria — for example, send an email to anyone who scores over 100.

<div align="left" data-with-frame="true"><img src="/files/WorjgWDIavdUG0O0HNpX" alt="Space Invaders game played event on contact timeline"></div>

<div align="left" data-with-frame="true"><img src="/files/FRrSNSu74sCNqZIDlrDd" alt="event data fields shown in the contact filter"></div>

### The custom signals structure

To send the example above as a signal through the API, you would use this payload. The parameters are explained below.

```
{
  "adapter": "Space Invaders",
  "category": "Game Played",
  "eventData": {
    "Player Name": "Parzival",
    "Reached Level": "8",
    "Score": "10"
  },
    "contact": {
        "firstName": "Tye",
        "lastName": "Sheridan",
        "email": "tye@playerone.com",
        "company": "Oasis"
  },
  "eventTime": "2023-12-13T10:06:42.375Z",
    "consent": {
    "marketing": {
      "allowed": true,
      "text": "I agree to emails"
    }
  }
}
```

A custom signal has the following main parts.

**Adapter**

The top-level name of the signal. It is listed directly under "Engagement" in the filter.

<div align="left" data-with-frame="true"><img src="/files/Z5F9Y5vwEF4GC2GFLFF3" alt="adapter name listed under Engagement in the filter"></div>

Keep the number of distinct adapter names to a minimum, since all distinct adapter names appear directly under Engagement. A good practice is to use the service name of the signals you are sending. An adapter can then send multiple types of events.

In this example, the adapter name is "Space Invaders".

**Category**

The "verb" of the signal. In the Space Invaders example, possible categories include:

* Game played
* Inserted coins
* Got high score

<div align="left" data-with-frame="true"><img src="/files/sJxdCOjZ2hZ2rup6X1Nv" alt="signal categories shown under the selected adapter"></div>

In the filter, once you select the adapter name "Space Invaders", you see the categories of signals you have sent for that adapter.

**Event data**

You can send any information you need with the signal. In this case, the "Game played" signal carries Player Name, Reached Level, and Score. All of these can be used in the contact filter to find contacts who played the game and reached a certain score or level.

<div align="left" data-with-frame="true"><img src="/files/FRrSNSu74sCNqZIDlrDd" alt="event data fields used in the contact filter"></div>

**Contact data**

All signals must be assigned to a contact. At minimum, you need an email address, but you can send any standard or custom field to the contact card to create or update the contact.

**Consent (optional)**

You can also send legal basis data for marketing emails along with the signal.

**Event Time**

The timestamp you want for the event in the timeline. Send it as Zulu time (UTC).


# Send a webhook from Zapier to eMarketeer

Set up a Zap that sends contact data to eMarketeer as a custom signal.

This is useful when you want to capture form submissions, CRM updates, or other engagement data from any source. The signal will create or update the contact in eMarketeer and record the engagement.

{% stepper %}
{% step %}

### Create a new Zap

1. Log in to Zapier and click "Create Zap".
2. Name the Zap for easy reference.
   {% endstep %}

{% step %}

### Set up the trigger

<div align="left" data-with-frame="true"><img src="/files/8eidoIaTcIex6P7gnEQQ" alt="Zap setup view"></div>

1. Choose a trigger app that holds the contact data you want to send. In this example, a Sleeknote form submission.
2. Select the specific event that triggers the Zap, for example "New Form Submission".
3. Connect your account and test the trigger to confirm the data is being captured.
   {% endstep %}

{% step %}

### Add the webhook action

1. Click "+ Add Action" and select "Webhooks by Zapier" as the action app.
2. Choose "Custom Request" as the action event so you can send a custom API call to eMarketeer.
   {% endstep %}

{% step %}

### Configure the webhook

In the webhook setup dialog, enter:

* **Method:** POST
* **URL:** the Signals API endpoint — `https://connect.emarketeer.com/engagements-api/v1/signals`
* **Headers:**
  * Content-Type: `application/json`
  * Authorization: `Bearer YOUR_API_KEY` (replace `YOUR_API_KEY` with your actual API key)
* **Payload Type:** JSON

In the **Data** section, enter the data you want to send in JSON. Example template:

`{ "adapter": "Sleeknote", "category": "Newsletter signup", "contact": { "firstName": "{{trigger_data_first_name}}", "lastName": "{{trigger_data_last_name}}", "email": "{{trigger_data_email}}", "mobilePhone": "{{trigger_data_phone}}" }, "eventTime": "{{zap_meta_utc_iso}}", "consent": { "marketing": { "allowed": true, "text": "Consents to marketing sendouts" } } }`

Replace the placeholder values (e.g. `{{trigger_data_first_name}}`) with the matching fields from your trigger data.
{% endstep %}

{% step %}

### Test the webhook action

1. Click "Test & Review" to send a test payload to eMarketeer.
2. Check eMarketeer to confirm the contact was created or updated and that the custom signal was recorded.
   {% endstep %}

{% step %}

### Turn on your Zap

1. Once the test passes, click "Turn on Zap" to activate it.
2. The Zap will now send contact data to eMarketeer whenever the trigger fires.
   {% endstep %}
   {% endstepper %}

### Additional information

* **Adapter:** the name of the signal source, such as the tool you're using (Sleeknote, CRM, and so on).
* **Category:** the type of data or action, for example "Newsletter signup" or "Sale closed".
* **Event Time:** use `{{zap_meta_utc_iso}}` to capture the exact time the event occurred.

### Recommended use cases

Use this setup to send engagement data such as form submissions, contact updates, or CRM activity. For form submissions, the Signals API shown above is the recommended approach.

For more details on the Signals API, see the [eMarketeer API documentation](https://api-doc.emarketeer.com/?urls.primaryName=Engagement#/Signals/post_signals).


# Developer

Guides, reference material, and technical information for users with the Developer role — those with access to more advanced tools, such as HTML editors.

{% columns %}
{% column %}
{% content-ref url="/pages/7LhWsv39COoXUo8ecFSR" %}
[DCL introduction](/references/developer-advanced/dcl-introduction)
{% endcontent-ref %}

{% content-ref url="/pages/QjzYidwQJjR3OdJOjzwf" %}
[Contact field character limit](/references/developer-advanced/contact-field-character-limit)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/aPsBj9CxxyB6i7ctq8mZ" %}
[Why eMarketeer doesn't support SRI for embed scripts](/references/developer-advanced/why-emarketeer-doesnt-support-sri-for-embed-scripts)
{% endcontent-ref %}

{% content-ref url="/pages/wR9PyzK13S8iGwNaZ4DO" %}
[Changing the mobile app navigation icons](/references/developer-advanced/app-navigation-icons)
{% endcontent-ref %}

{% content-ref url="/pages/cN12IylG0GKOCNizHg8h" %}
[Barcodes](/references/developer-advanced/barcodes)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# Contact field character limit

A quick reference guide listing the eMarketeer standard contact fields and their character limit.

Each contact field has a character limit. Data that exceeds the limit is truncated.

The table below lists the limit for each field.

| **Contact field** | **Character limit** |
| ----------------- | ------------------- |
| firstname         | 500                 |
| lastname          | 500                 |
| salutation        | 500                 |
| email             | 500                 |
| company           | 500                 |
| address1          | 500                 |
| address2          | 500                 |
| zip               | 25                  |
| city              | 500                 |
| fax               | 500                 |
| mobile            | 100                 |
| telephone         | 500                 |
| state             | 500                 |
| country           | 500                 |
| title             | 500                 |
| external\_id      | 500                 |
| note              | 65535               |
| Custom\*          | 2000                |

{% hint style="info" %}
\* Any custom field, regardless of type, has a limit of 2000 characters.
{% endhint %}


# DCL introduction

DCL is a template language used to personalize content in eMarketeer.

It is not a full programming language like C, PHP, or Visual Basic. Think of it as a language for outputting dynamic content in your email, SMS, or web pages. DCL does not provide arithmetic instructions, but it does offer some flow control. It is tightly coupled with a template engine for HTML web pages: the Dynamic Content Engine (DCE).


# Conventions

The conventions used throughout this DCL manual.

Code is written in fixed-width font. Italics describe how eMarketeer uses a specific function. DCL is a programming language, so you should be familiar with generic terms such as function, argument, value, and string.

### Terms

The terms you need to understand to read this manual:

* **DCL:** Dynamic Content Language, the name of this programming language.
* **DCE:** Dynamic Content Engine, the template engine used with DCL.
* **Page:** The content where you apply DCL. This may be an email, webpage, or SMS.


# Language Syntax

DCL has a simple structure built on three terms: function, argument, and value. Every function returns a string and takes named arguments whose values are strings.

The example below prints the firstname from the contact card.

```
<% contact field="firstname" %>
```

| Token         | Meaning                                    |
| ------------- | ------------------------------------------ |
| `<%`          | Tells the page a DCL function is starting. |
| `contact`     | The name of the function.                  |
| `field`       | The argument name.                         |
| `"firstname"` | The argument value.                        |
| `%>`          | Ends the DCL function.                     |

## Whitespace

Whitespace characters are not visible and can be used freely to keep your DCL code readable. You can write the same function like this:

```
<%
contact
field="firstname"
%>
```

This is more useful when DCL lines become long.

## Functions

A function starts with `<%` and ends with `%>`. It returns a string that is printed on the page or used as an argument to another function. The example below builds a link to your website using the user field `website` as an argument to the `link` function.

```
<% link url=<% user field="website" %> caption="Link to Website" %>
```

## Strings

A string is a sequence of zero or more characters. In DCL, a literal string is written with double quotes.

```
"This is a string"
```

Only one character needs to be escaped in a literal string: the double quote. Two double quotes in a row produce one double quote in the resulting string.

```
"There is only 1 "" in this string"
```

Concatenate strings with the `+` character.

```
"This is a string" + "We add this string"
```

Because functions return strings, you can pass a function as an argument to another function, and you can concatenate functions and literal strings. The example below takes firstname and lastname from the contact card, puts a space between them, and uppercases the result. Whitespace is used to keep the code readable.

```
<% upper string=
	<% contact field="firstname" %> +
	 " " +
	 <% contact field="lastname" %>
%>
```


# Template Functions

The template functions in DCL, the language behind eMarketeer's Dynamic Content Engine (DCE), which composes structured layouts from nested chunks of code called blocks.

DCE uses nested chunks of code (blocks) to obtain a structured layout. Child blocks can be inserted manually by their parent block, or they can be "flowed" out at a specific point in the parent block.

In eMarketeer these blocks are called Container Blocks. A Container Block can have HTML code and can have child blocks. There are also other blocks such as Text, Image, and Link Blocks, which do not include HTML but can still use parts of DCL. To create blocks in eMarketeer, open the HTML editor in developer mode and use the UI to add blocks. To change the order of flowed blocks, use drag and drop in the eMarketeer UI.

## Inserting blocks

To insert a child block, use the `insert_block` function.

```
<div id="child">
	<% insert_block name="child_block" [onlypos="first,middle,last"] %>
</div>
```

The optional `onlypos` parameter is a flow-control argument and can be ignored for now. The child block starts rendering at the position in the code. The `<div>` tag is not required; it is shown for demonstration.

## Insert code

There is a function for inserting HTML code into DCE. It may seem redundant since you can just write HTML in the editor, but this function gives you conditional control and the `onlypos` argument for flow control.

```
<% insert_code code="<b>Hello World</b>"
	[onlypos="first,middle,last"]
	[notempty=String]
	[empty=String]
%>
```

`onlypos` is not covered further here. `empty` and `notempty` are conditional arguments. They insert the code only if the string in the argument is empty or not empty.

## Flow control

DCE has functions for flowing content into the resulting document. Flowing means you do not explicitly insert a block using `insert_block`. When the container is rendered and its child is not rendered, the block renders all its unrendered children after its own content.

In eMarketeer, open the settings on a container block and mark it as a flow block so the children flow automatically. This also makes the UI drag-and-drop aware in that block, so you can reorder the children.

You can change where the flow happens. By default it is after the block's own content, but you can move it. In the example below, the flow occurs in the `after-this` div.

```
<div id="after-this">
	<% insert_block flow="true" %>
</div>
```

A child is aware of its position in the flow and can change its content based on that. A child knows whether it is inserted first, middle, or last in the flow. Think of this as a flow from top to bottom.

<table><thead><tr><th width="130" valign="top">Number of Blocks</th><th></th><th></th><th></th></tr></thead><tbody><tr><td valign="top">1 Block</td><td>Only block, considers itself first and last</td><td></td><td></td></tr><tr><td valign="top">2 Blocks</td><td>Top block considers itself first</td><td>Bottom block considers itself last</td><td></td></tr><tr><td valign="top">3 Blocks or more</td><td>Top block considers itself first</td><td>All blocks but top and bottom considers themselves middle</td><td>Bottom block considers itself last</td></tr></tbody></table>

The `insert_block` and `insert_code` functions take the `onlypos` argument, which inserts code only if the position in the flow matches. If you use `onlypos`, rendering is off by default until a match is found. The positions in the `onlypos` argument are a comma-separated list of `first`, `middle`, or `last`. They are parsed from left to right, and a block renders if a block that considers itself first encounters a `first` in the argument. To suppress rendering, use `!` before the position. Consider this code:

```
<% insert_code code="<hr />" onlypos="middle,last,!first" %>
```

The table below explains what happens to blocks when they encounter this specific code.

<table><thead><tr><th width="130" valign="top">Number of Blocks</th><th></th><th></th><th></th></tr></thead><tbody><tr><td valign="top">1 Block</td><td>Only block, although "last" matches and would render, "!first" also matches and turns rendering off.</td><td></td><td></td></tr><tr><td valign="top">2 Blocks</td><td>First block matches on "first" and will turn off rendering.</td><td>Last block matches on "last" and will render the code.</td><td></td></tr><tr><td valign="top">3 Blocks or more</td><td>First block matches on "!first" and will never render the code.</td><td>All blocks but top and bottom matches on "middle" and will render the code.</td><td>Last block matches on "last" and will render the code.</td></tr></tbody></table>

It can be hard to see why you would need such a system. The code above can be inserted first in a block to draw a divider between blocks. The divider only renders before a block that has a sibling block directly before it. It never renders on the first block, and it never renders if there is only one block.

You can also reset the flow. After a reset, whatever block comes next is treated as first again. This is useful when you do not want a divider between specific blocks. For example, if an image block does not need a divider after it, put this code last in the image block:

```
<% flow command="reset" %>
```

With the `insert_code` above, the block that follows does not render a divider, because it is now first in the flow again.

## Case converting

DCL has three functions for converting the case of strings: uppercase, lowercase, and "title". Title means the first letter of the string becomes uppercase and the rest lowercase.

Convert the first name on the contact card to uppercase:

```
<% upper string=<% contact field="firstname" %> %>
```

Convert the first name on the contact card to lowercase:

```
<% lower string=<% contact field="firstname" %> %>
```

Convert the first name on the contact card to title case:

```
<% title string=<% contact field="firstname" %> %>
```


# Emarketeer specific functions

DCL functions unique to eMarketeer that fetch data from the contact card, your user account, and other product-specific sources.

## Link

To track a link in eMarketeer, use the `link` function. A normal `<a href="url">Link</a>` still renders, but it is not tracked. The `link` command looks like this:

```
<% link url="url-to-link" caption="Label to link" [attrib="htmlattributes"] [html="true"] %>
```

* `url`: the URL to link to. It must be URL-encoded; eMarketeer does not encode it for you.
* `caption`: the label of the link, as plain text or HTML. If it is HTML, pass `html="true"`.
* `attrib`: attributes added to the resulting `<a>` tag in the rendered HTML.

## Contact

The `contact` function fetches or prints values from the contact card the form is attached to.

```
<% contact field="fieldname" %>
```

`fieldname` is one of these:

<table><thead><tr><th width="130" valign="top">Fieldname</th><th>Explaination</th></tr></thead><tbody><tr><td valign="top">firstname</td><td>Firstname of contact</td></tr><tr><td valign="top">lastname</td><td>Lastname of contact</td></tr><tr><td valign="top">salutation</td><td>How to salute this contact. For example "Mr", "Mrs"</td></tr><tr><td valign="top">company</td><td>This contacts work company</td></tr><tr><td valign="top">email</td><td>Email address of contact</td></tr><tr><td valign="top">title</td><td>Work title</td></tr><tr><td valign="top">telephone</td><td>Contacts telephone number</td></tr><tr><td valign="top">fax</td><td>Contacts fax number</td></tr><tr><td valign="top">mobile</td><td>Contact mobile telephone number</td></tr><tr><td valign="top">address1</td><td>First line in contacts address</td></tr><tr><td valign="top">address2</td><td>Second line in contacts address</td></tr><tr><td valign="top">city</td><td>City of contact</td></tr><tr><td valign="top">state</td><td>State of contact</td></tr><tr><td valign="top">zip</td><td>Zip or postal code of contact</td></tr><tr><td valign="top">country</td><td>Country of contact</td></tr><tr><td valign="top">external_id</td><td>Id in users CMS</td></tr><tr><td valign="top">note</td><td>Your note of this contact</td></tr></tbody></table>

Custom contact fields use this syntax:

```
<% contact field="fieldname" type="custom" %>
```

If you are unsure of the right field code, open an email and use the built-in personalization button in any text. It surfaces the proper code for each field.

## User

The `user` function fetches or prints information about your user account.

<table><thead><tr><th width="130" valign="top">Fieldname</th><th>Explaination</th></tr></thead><tbody><tr><td valign="top">logo</td><td>The url to your companys logo in emarketeer takes a second argument "version" which can be "light" or "dark". The light background logo is the default</td></tr><tr><td valign="top">company</td><td>Company name</td></tr><tr><td valign="top">address1</td><td>First address line of company</td></tr><tr><td valign="top">address2</td><td>Second address line of company</td></tr><tr><td valign="top">city</td><td>City of company</td></tr><tr><td valign="top">zip</td><td>Zip or postal code of company</td></tr><tr><td valign="top">state</td><td>State of company</td></tr><tr><td valign="top">country</td><td>Country of company</td></tr><tr><td valign="top">webpage</td><td>Homepage of company, optional argument "protocol" may be set to true to include protocol in adress (Normaly <a href="https://github.com/eMarketeerSE/support-doc/blob/main/documentation/http:/README.md">https://</a>)</td></tr><tr><td valign="top">url</td><td>Url this user uses to access emarkeeter.</td></tr><tr><td valign="top">telephone</td><td>Tehephone number of company</td></tr></tbody></table>

## Scramble

The scramble code is a unique identifier generated when sending an email. eMarketeer uses it internally to identify which contact is clicking a link in the email.

## Block

The `block` function fetches specific data from a block in eMarketeer. Different block types expose different fields. The function returns the literal string typed into the block, not evaluated code.

```
<% block name="text1" field="text" %>
```

The `name` argument is a relative path to the block you want, starting at the current node in the tree. Nodes are separated by `.`. The keyword `parent` is reserved and moves up one level. For example:

```
<% block name="parent.block1.text2" field="text" %>
```

This path goes from the current node up to the parent container block, then into `block1`, then into the `text2` text block.

If the `name` argument starts with `.`, the lookup begins at the root. For example:

```
<% block name=".block1.text2" field="text" %>
```

This path always resolves from the root, regardless of where you start.

**Text Block**

<table><thead><tr><th width="130" valign="top">Fieldname</th><th>Explaination</th></tr></thead><tbody><tr><td valign="top">text</td><td>The text entered into the text block</td></tr></tbody></table>

**Image Block**

<table><thead><tr><th width="130" valign="top">Fieldname</th><th>Explaination</th></tr></thead><tbody><tr><td valign="top">url</td><td>the url of the image</td></tr></tbody></table>

**Link Block**

<table><thead><tr><th width="130" valign="top">Fieldname</th><th>Explaination</th></tr></thead><tbody><tr><td valign="top">url</td><td>the url of the link</td></tr><tr><td valign="top">caption</td><td>the link caption</td></tr></tbody></table>

**Container Block**

<table><thead><tr><th width="130" valign="top">Fieldname</th><th>Explaination</th></tr></thead><tbody><tr><td valign="top">text</td><td>Returns the HTML source code of the block</td></tr></tbody></table>

**Option Block**

<table><thead><tr><th width="130" valign="top">Fieldname</th><th>Explaination</th></tr></thead><tbody><tr><td valign="top">value</td><td>Current value of the option block</td></tr></tbody></table>


# Conditionals

DCL supports a simple if-elseif-else-endif conditional for testing whether one string equals another.

Conditional functions follow normal function syntax and always return an empty string. They cannot be used as arguments to other functions. You can test for equality or inequality. There is no concept of boolean operators, but you can simulate AND by nesting conditionals.

Check if "foo" is equal to "foo" (true):

```
<% if compare="foo" equal="foo" %>
```

Check if "foo" is equal to "bar" (false):

```
<% if compare="foo" equal="bar" %>
```

Check if "foo" is not equal to "foo" (false):

```
<% if compare="foo" notequal="foo" %>
```

Check if "foo" is not equal to "bar" (true):

```
<% if compare="foo" notequal="bar" %>
```

Full example of a conditional block:

```
<% if compare=<% contact field="firstname" %> equal="Bart" %>
    You're Homer's son! 
<% elseif compare=<% contact field="firstname" %> equal="Lisa" %> 
    You're Homer's elder daughter! 
<% elseif compare=<% contact field="firstname" %> equal="Maggie" %>
    You're Homer's younger daughter! 
<% else %> 
    Doh! 
<% endif %>
```

Below we use the boolean `or` in an expression. To use an `and`, just replace `or` with `and`. Internally, the `if` function checks its `and` or `or` argument for `true`.

```
<% if compare=<% contact field="firstname" %> equal="Bart" or=<% if compare=<% contact field="firstname" %> equal="Lisa" %> %> 
    You're Homer's child
<% endif %>
```


# Why eMarketeer doesn't support SRI for embed scripts

eMarketeer does not support Subresource Integrity (SRI) on its embed scripts. This article explains why.

SRI can add trust for external assets, but it also brings trade-offs — especially for a platform that delivers scripts to many customers. This article covers the reasoning and what it means for you.

## What is SRI?

Subresource Integrity (SRI) lets browsers verify that a fetched resource, such as a JavaScript file, matches an expected cryptographic hash. If the content has been altered or corrupted, the browser refuses to execute it.

## Our reasoning

After careful evaluation, here are the primary reasons we currently do not support SRI for our embed scripts:

1. Frequent updates and version agility. We continuously release improvements, security patches, optimisations, and feature enhancements. Locking each customer to a specific hash would force a manual integration update for every release, no matter how small. That approach is unsustainable at scale.
2. Lock-in risk and customer burden. SRI essentially locks the script to a fixed version. Customers must track and update the integrity value with every release, which adds maintenance burden and increases the risk of integration breakage when clients lag behind.
3. Script blocking and functional risk. If a client's integrity hash does not match — even due to minor version drift — the browser blocks the script entirely. This could disable essential features like tracking or analytics, leading to significant disruption and support overhead.
4. SRI only guards against certain threats. SRI helps protect against tampering in transit or via a compromised CDN, but it does not defend against threats earlier in the supply chain, such as a compromised build or deployment pipeline. It is not a catch-all defence.
5. Robust alternative security measures already in place. We rely on multiple layers of security to ensure safe distribution of our scripts:

   * HTTPS/TLS for secure transport.
   * Secure and audited build and deployment workflows.
   * Code reviews, access control, and internal security policies.
   * Content Security Policy (CSP) support.
   * Monitoring, auditing, and alerting on unusual activity.

   Given these layers, we currently view SRI as a maintenance burden with limited added benefit in our architecture.
6. Industry precedent. Most established platforms make explicit statements that they do not support SRI for their scripts. Their documentation notes that many services (for example Facebook, Stripe, PayPal) have similarly avoided fixed versions or SRI for their public scripts.

## What this means for you

* You can continue using our scripts without managing or rotating integrity hashes.
* We can deploy updates freely, so you receive fixes, performance improvements, and new features in a timely manner.
* We maintain strict security throughout our development and distribution processes, so the scripts delivered to you are as safe as possible.


# Changing the mobile app navigation icons

How to change the icons in a mobile app component's navigation menu by editing the app's HTML in Developer Mode.

This guide explains how to change the icons used in a mobile app component's navigation menu.

The navigation menu uses icons from [Elusive Icons](https://elusiveicons.com/icons/). You can swap them for any of the 300+ available icons by editing the app's HTML. You need Developer permissions on your user account to make these changes.

{% stepper %}
{% step %}

### Choose which icons to use

Browse the icon list at [elusiveicons.com](https://elusiveicons.com/icons/) and pick the icons you want.

[![Elusive Icons icon list page](/files/tW2yCM1iodI7l1AfQvso)](https://downloads.intercomcdn.com/i/o/467403408/8cf83dfe3a6ecf908c2b9a64/app-elusiveicons-list.png)

The Elusive Icons list page
{% endstep %}

{% step %}

### Look up the icon tag

Click the icon you want to use. Look for its el-tag — the icon name starting with "el-". For example, the calendar icon has the tag `el-calendar`. Note the tag — you will paste it into the HTML in a later step.

[![Elusive Icons page for the Calendar icon](/files/rKIemtjc8drLupih0uEp)](https://downloads.intercomcdn.com/i/o/467404444/50ba922f497aa71733a15555/app-elusiveicons-iconcode.png)

Elusive Icons page for the calendar icon
{% endstep %}

{% step %}

### Check which navigation menu style is in use

In eMarketeer, check which navigation menu style your app uses. The setting is called **Navigation Menu** and lives at the top of the Settings tab for the Content block.

<div align="left" data-with-frame="true"><img src="/files/LhLCGQ0fNJBvCr11jMxR" alt="Navigation Menu setting location on the Content Settings tab"></div>

Navigation Menu setting location on the Content Settings tab

There are three navigation menu styles: Icons, Icon List, and List. Note which one you use — you only need to change icons for that style.

<div align="left" data-with-frame="true"><img src="/files/P47B6z0hx84dt5mWkXtP" alt="The 3 navigation menu style options"></div>

The three navigation menu style options
{% endstep %}

{% step %}

### Open the HTML tab

On the mobile app component's editing page, click **Enable Developer Mode** in the left-side Tools menu, open **Colors, Fonts & Head**, and switch to the **HTML** tab in the right-side menu.

If you do not see the Developer Mode link, ask an account administrator to grant Developer permissions to your user account.

[![Navigating to the HTML tab in Developer Mode](/files/FjYuCzzbwfiebmgnmj5p)](https://downloads.intercomcdn.com/i/o/467405809/2a5e2703535471d490640f41/app-html-tab.png)

Navigating to the HTML tab in Developer Mode
{% endstep %}

{% step %}

### Find the icon in the HTML

The HTML tab has two places where icons are defined. One controls the **Icon List** navigation style, the other controls the **Icons** style.

The top-level part of the HTML labels each section as `iconlist` or `icons`. Each navigation icon has its own sub-section. Inside, look for the el-tag of the icon currently in use, such as `el-time` or `el-bookmark`.

#### Iconlist HTML

[![Location of the iconlist icon code in the HTML](/files/qxdrx5raFldmXpaFwaCC)](https://downloads.intercomcdn.com/i/o/467437532/3f94673815295cdcc491f545/app-iconlist.png)

Location of the iconlist icon code in the HTML (usually close to line 113)

#### Icons HTML

[![Location of the icons icon code in the HTML](/files/wbMRDroJ7UiqzLr8180X)](https://downloads.intercomcdn.com/i/o/467437560/786013c0d589590cb65d0126/app-icons.png)

Location of the icons icon code in the HTML (usually close to line 237)
{% endstep %}

{% step %}

### Replace the icon tag and save

Change the current el-tag to the new one for your chosen icon, then save the HTML. For example, to change "Company News" from a bookmark icon to a calendar icon, replace `el-bookmark` with `el-calendar`. Leave the surrounding tags alone — `el`, `el-inverse`, and `el-fw` are the same for all icons in the app component.
{% endstep %}
{% endstepper %}


# Barcodes

What barcodes are, where they are used, and how you can use them in eMarketeer.

## What is a barcode?

<div align="left" data-with-frame="true"><img src="/files/IosiqHFaQz9s8Wv1KOXo" alt="barcode scanner reading a barcode"></div>

A barcode scanner reading a barcode

A barcode is essentially a font that computers can read visually. To read one, a computer needs a barcode reader — its "eyes." Like any font, you can encode whatever you want: numbers, text, full sentences. What you encode only matters if it means something to someone, or something, on the other end.

For example, this phone number in a regular font: `004651410050`

Your eyes read the digits and know what to do with them.

The same number as a barcode looks like this:

<div align="left" data-with-frame="true"><img src="/files/XHL5RSB6j0m0I8Ved7RZ" alt="phone number encoded as a Code 128 barcode"></div>

## Where are barcodes used?

The most familiar place is your local store. The "beep" at checkout is a barcode reader scanning each product into the register. You also see barcodes on tickets, coupons, parcels, ID cards, and more.

## How can I use barcodes with eMarketeer?

You need two systems: one to generate the codes and one to scan them. eMarketeer transports the code from one to the other.

For example, you want to send coupons to your customers. You already have article numbers for the items and a cash register that scans barcodes. eMarketeer takes that information and sends a ready-to-print email with the offers and barcodes included. Customers print the email, bring it to the store, and the register scans the barcode to apply the discount.

## Barcode standards

eMarketeer supports the following barcode standards. The default in eMarketeer blocks is **Code 128**. To change the standard, edit the barcode in Developer Mode.

* Code 128
* Codabar
* Code 11
* Code 39
* Code 39 Extended
* Code 93
* EAN-8
* EAN-13
* ISBN-10 / ISBN-13
* Interleaved 2 of 5
* Standard 2 of 5
* MSI Plessey
* UPC-A
* UPC-E
* UPC Extension 2
* UPC Extension 5
* PostNet


# Platform

Reference documentation for eMarketeer's platform features: email, SMS, web tracking, and user accounts.

{% columns %}
{% column %}
{% content-ref url="/pages/krjQWGjanR5rBjTjLp6X" %}
[Email](/references/references/email)
{% endcontent-ref %}

{% content-ref url="/pages/mL2CVPvyYsxuUfMyp2XI" %}
[Forms](/references/references/forms)
{% endcontent-ref %}

{% content-ref url="/pages/Ab8CEBIcPu4iKIK8rRl1" %}
[SMS](/references/references/sms)
{% endcontent-ref %}

{% content-ref url="/pages/eNDpP8hSthVojszye9SB" %}
[Web Tracker](/references/references/web-tracker)
{% endcontent-ref %}

{% content-ref url="/pages/771Uq5SEX6IwY9VdVcLb" %}
[User accounts & auth](/references/references/accounts-auth)
{% endcontent-ref %}

{% content-ref url="/pages/HFwXYxIDr2hmBP7jk9bU" %}
[Credit card payments (Administrator)](/references/references/credit-card-payments)
{% endcontent-ref %}

{% content-ref url="/pages/w402hrS8MwBFwJP9dY0M" %}
[What happens when I reach my contact limit?](/references/references/what-happens-when-i-reach-my-contact-limit)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/yN08YPGvHPL9ZPL9GmOq" %}
[Default score rules in eMarketeer](/references/references/default-score-rules-in-emarketeer)
{% endcontent-ref %}

{% content-ref url="/pages/HFYw5c9eyif9IK7DxoPO" %}
[Understanding eMarketeer URLs](/references/references/understanding-em-urls)
{% endcontent-ref %}

{% content-ref url="/pages/WTXW8NSdzb0XoH7naqZs" %}
[Where is eMarketeer data stored geographically?](/references/references/where-is-emarketeer-data-stored-geographically)
{% endcontent-ref %}

{% content-ref url="/pages/urobSHDtAHEBIqdqhtaa" %}
[GDPR & consent](/references/references/emarketeer-gdpr-overview)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}


# Email

Reference material for eMarketeer's email sending: platform behaviour, deliverability, and how email is measured.

{% columns %}
{% column %}
{% content-ref url="/pages/SOOQIPQ3DZhlGc0WYJPV" %}
[Deliverability](/references/references/email/deliverability)
{% endcontent-ref %}

{% content-ref url="/pages/hLlcy4hhdQCVRJgS7dF1" %}
[Automatic send pause](/references/references/email/automatic-send-pause)
{% endcontent-ref %}

{% content-ref url="/pages/v5AvutjraJOeo8R6GkaS" %}
[Exclude inactive recipients](/references/references/email/exclude-inactive-recipients)
{% endcontent-ref %}

{% content-ref url="/pages/7IoAV57ZKxjoVCb3cnsQ" %}
[Transactional sendouts](/references/references/email/transactional-sendouts)
{% endcontent-ref %}

{% content-ref url="/pages/459ZbO619ijBbNhhKabl" %}
[When is an email registered as opened?](/references/references/email/email-open)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/pages/kcJORJYE4LmuGSeQUcBb" %}
[eMarketeer sender policy](/references/references/email/emarketeer-sender-policy)
{% endcontent-ref %}

{% content-ref url="/pages/qqTv6hZJoeRmIkLQmvSK" %}
[Read on web](/references/references/email/read-on-web)
{% endcontent-ref %}

{% content-ref url="/pages/zZTuOectCtosunn3QXkS" %}
[Why you shouldn't use a URL as link text](/references/references/email/url-as-link-caption)
{% endcontent-ref %}

{% content-ref url="/pages/oZ2fL1f6you7plmWBbFJ" %}
[Understanding the Email Checklist](/references/references/email/checklist-explained)
{% endcontent-ref %}

{% content-ref url="/pages/1zhKsTeFi8MHkv5JmW7s" %}
[Email report explained](/references/references/email/email-report-explained)
{% endcontent-ref %}

{% content-ref url="/pages/7EMIXuiPwYD6wSCWylek" %}
[Maximizing Email Marketing Success: 10 Best Practices and Pitfalls to Avoid](/references/references/email/maximizing-email-marketing-success-best-practices-and-pitfalls-to-avoid)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}




---

[Next Page](/llms-full.txt/1)

