Customer-facing emails
Customer Fields has built-in logic that triggers emails to be sent directly to customers when certain events occur.
Shopify's new Customer Accounts
For stores using Shopify's Customer Accounts, there are four customer-facing email templates available in the app.
Application received - Sent to a customer when they submit a form for account approval.
Application rejected - Sent to a customer when their account application is denied.
Application approved - Sent to a customer when their account application is approved.
Account verification (legacy) - Sent to an existing customer when their email must be verified.
Shopify's Legacy Customer Accounts
Stores still using Shopify's Legacy Customer Accounts will have different email templates. Some of the legacy emails are app-specific and sent by the app's email service, while others are managed and sent directly by Shopify.
App specific emails
Application received - Sent to a customer when they submit a form for account approval.
Application rejected - Sent to a customer when their account application is denied.
Application approved (existing customer) - Sent to an existing customer when their account application is approved.
Account verification (legacy) - Sent to an existing customer when their email must be verified.
Shopify emails
These templates are triggered by Customer Fields but sent directly by Shopify. You can edit the default subject and message in the app admin, but the actual email template is controlled in Shopify (found under Settings > Notifications > Customer notifications > Customer > Customer account invite):
Application approved (legacy) - Sent to a new customer when their account application is approved. Uses Shopify's password-based activation flow.
Account invite - Sent to a customer when they are invited to create an account.
There are two additional emails customers may receive which are sent by Shopify and cannot be edited in the Customer Fields app, only in Shopify.
Customer account welcome - Sent to new customers when their account is activated.
Customer account password reset - Sent to existing customers when they use the "reset password" tool on an edit account form.
Liquid code friendly
The app's template editor for emails is completely Liquid friendly! This means you can use things like control flow tags, iteration tags, and filters to add logic and render content in your ideal format & layout.
π‘ Pro-tip
We suggest using this documentation on Github if you need a good reference for Liquid.
Variables
You can also use Liquid variables for dynamic content within certain email templates. Variable support is template-specific, so the template editor in the app admin will display a list of the variables that are available based on the template you're editing. The two most common variables are detailed below:
shop Resource
The shop resource from Shopify can be used to output certain details about the store in email templates. Simply type in {{ shop . in the app's template editor to see a list of the properties available for this variable. You can also use the following documentation from Shopify to find more details on the different properties (aka attributes) for the shop resource:
customer Object
The customer object can be used to output certain details about the customer receiving the email. Simply type in {{ customer . in the app's template editor to see a list of the properties available for this variable. The customer object supports all of the data columns in the app; including Shopify data columns and custom data columns.
Please note that the Account verification (legacy) template does not support the customer object.
Code examples
If you want to display the value for a custom data column for maturity_date in the email body, along with the values for the customer's State/Province and Country, then you could use something like the following:
<p>Maturity Date: {{ customer.maturity_date | date: "%b %d, %Y" }}</p>
<p>Location: {{ customer.default_address.province }}, {{ customer.default_address.country }}</p>Or perhaps you want to display the customer's first name in the email subject, along with the store's name. You can do so using something like this:
Hi {{ customer.first_name }}, your account for {{ shop.name }} has been approved!"From" address for emails
By default, the emails triggered by Customer Fields are designed to use the 'Store contact email' or 'Sender email' as the "from" address. Both of these email addresses can be managed in the Shopify admin under Settings > Store details > Profile.
π Note: When manually approving/denying customers or sending account invites, the app will allow you to choose which specific email address is used as the "from" address. In addition to the 'Store contact email' and 'Sender email', the app will also display a list of email addresses for each admin user who has accessed the app admin.
DNS records for Customer Fields
If you're using your own domain name for the 'Store contact email' and 'Sender email' in Shopify (found in the Shopify admin under Settings > Store details > Profile), then you may want to update your domain's DNS records to ensure that the emails sent by Customer Fields are delivered to your customer's inbox.
This is due to the fact that the app's emails are designed to use either of the Shopify email addresses as the "from" address. Since the app-specific emails are being sent by our app's email system (SendGrid), some email providers might flag the emails as spam unless you establish sender authentication for your domain using SPF and/or DKIM.
SPF
Adding an SPF record to your domain which references the hostname for Customer Fields' email system will help email providers determine that the emails being sent are valid and that they're not spam or phishing attempts.
Follow these steps to add an SPF record for Customer Fields to your domain's DNS:
Log in to your domain hosting account.
Find your domain's
TXTrecord. This usually appears beside theCNAMErecord andMXrecord.Add the following
SPFrecord to your existingTXTrecord:v=spf1 include:em6913.customerfields.com ~allSave your changes.
DKIM
Adding a DKIM record to your domain further enhances deliverability, and it's part of the requirements for implementing a DMARC policy (see details here). If your administrator has established a DMARC policy on your domain, then you'll need to contact our Customer Success team so we can get your domain added as an authenticated sender in our app's email service provider (SendGrid). Reach out using our in-app chat or email us at [email protected] with your sending domain so we can provide you with domain specific DKIM records for you to use.


