Contacts and consent

Build your SmartyTap audience from Shopify, CSV import, lists and tags, and see how consent decides who gets your marketing emails and texts.

Last updated: 2026-10-19

A contact is anyone you can message: a Shopify customer, a lead from a sign-up form or someone you imported. Each contact has an email, a phone number or both, a stage (visitor, lead, customer, churned or reactivated), tags, and a separate consent status for email and for texts.

Where contacts live

  • Audience > Contacts: everyone you can reach, 25 to a page, with name, phone, email, stage and tags. Search by name, phone or email.
  • Audience > Lists: static, imported or rule-built lists for campaigns. Click Create list.
  • Audience > Tags: labels you add to contacts. Click Create tag.
  • Audience > Segments: audiences built from conditions, including orders, subscriptions and loyalty.
  • Audience > Imports, Unsubscribed and Blocked: your past imports and the people you can't message.

Import contacts from a CSV

1

Get the template

In the SmartyTap setup checklist, open Import contacts and click Download template (smartytap-contacts-template.csv).

2

Fill it in

One contact per row. Every row needs an email or a phone number. Accepted columns: first_name, last_name, email, phone, company, tags and country_code. Common names like email_address, mobile or phone_number work too. Separate several tags with a semicolon, comma or |.

3

Upload

Under Upload contacts by CSV, drop the file on Drop a CSV here or choose a file. SmartyTap checks every row first and flags Missing email or phone and Duplicate in file.

4

Check the result

Your contacts appear in Audience > Contacts. To add just one person, use Add first contact in the same step.

csv
first_name,last_name,email,phone,company,tags,country_code
Ana,Diaz,ana@example.com,+15125550142,,vip;newsletter,US
Sam,Lee,sam@example.com,,,newsletter,US
Import only people who agreed

Only bring in people who agreed to hear from you, and only for the channel they agreed to. A list of emails someone gave you for a receipt isn't consent to marketing, and texting people without written consent can break US law. Never buy or rent a list.

Before every marketing email or text, SmartyTap checks the contact's consent for that channel:

  • Texts go only to contacts opted in to SMS, from Shopify, a sign-up form or a START or YES reply.
  • Marketing emails go only to contacts with email consent on record, and never to anyone unsubscribed, bounced or who complained.
  • Transactional messages, like order updates, don't need marketing consent.

When you pick an audience, the recipient estimate shows who's in and who's left out, under Included, Excluded, Suppressed, Missing consent and Missing destination (no email or phone for that channel). The check runs again as each message sends, so an opt-out a minute before still counts.

Moving from Klaviyo, Attentive or Postscript?

Export your subscribers with their consent, keep your opt-out list honored, and bring your number with you. See Bring your number and switching from Klaviyo.

Troubleshooting and FAQ

A contact I imported isn't in the campaign

Check the recipient estimate. They're most likely under Missing consent for that channel, or Missing destination because the row had no phone or email.

What about duplicates?

Rows that repeat an email or phone in the same file are flagged before upload. Shopify customers are matched to their contact, so the same person doesn't appear twice.

How should I format phone numbers?

Use the international format with the country code, like +15125550142, or fill in country_code for each row.

Guides

On the product page

Learn more

Was this page helpful?

Need more help? Contact support