If there is anything missing from the documentation or you have a general question, please ask in the Facebook Group, which is available to all WeDeliver.Email users.

Prerequisites

Choosing Your Email Sending Service

Updated on 1st April 2016, after the withdrawal of Mandrill’s service

Introduction

As well as a WeDeliver.Email subscription, you need to sign up for a third-party email provider who will actually deliver your emails. In some cases this can be at no additional charge, but if your sending volumes are high enough or you choose a different provider, you’ll also have to pay the provider to actually deliver your emails.

You need to choose the third-party service very carefully as there are many pros and cons.

We can support almost all third party email providers who provide an SMTP API, although the vast majority of new WeDeliver.Email users are currently using SparkPost to deliver their emails.

Most third-party email providers who we can integrate with will enforce strict sending limits and you run the risk of emails getting list when you exceed those limits.

It’s also very important to go through a warm-up process when you first start using WeDeliver.Email, or if you switch to a different third party email sending service. Note that this is not the same as warming up an IP address.

The larger your list size and hence your sending volume, the more this applies, but even if you’ve got a small list there’s a very important consideration that you need to bear in mind:

If you suddenly switch over to a new email service and start sending large volumes of emails at once, there is a risk of them closing you down, even though you almost certainly have a clean list that is well engaged.

You’ll need to adopt a strategy of “warming up” the new service that you use so that they can establish for themselves that you have a strong, positive email reputation.

Which Service?

At the present time, there are only three services we recommend, although we support other services. Here are the main advantages and disadvantages of each solution:

Send13

Pros:

  • Generally excellent deliverability
  • Excellent support with real human beings
  • If you’re on anything other than the Basic plan, they will actually work with you to improve your deliverability over a number of weeks
  • Option of using a shared or dedicated IP address
  • Extremely quick and easy to set up

Cons:

  • More expensive than other providers, but they do provide added value
  • Currently no auto-topup, so if you go over your pre-paid limit, your emails will not go out until you top up your account, so this needs monitoring when you get close to your limit and/or are sending a large broadcast. Send13 are working on an auto-topup or at least notifying customers of when their credit is low.

Amazon SES

Pros:

  • Cheapest for high volume sending (works out at $100 per million emails sent)
  • Generally very good deliverability

Cons:

  • Doesn’t support custom link tracking domains – which means that the links in emails will still show “infusionsoft.com” rather than your own domain
  • More complex to set up than Send13 or SparkPost – it’s aimed more at developers
  • You’re initially limited to 200 emails per day and have to request the limit be increased. This request will take at least one business day to process.
    • You can learn more about Amazon SES limits here
  • If you go over your daily sending limit, all subsequent emails that you send will be lost.

SparkPost

Pros:

  • Competitively priced, and their free account allows up to 100,000 emails per month to be sent (but see limits below!)
  • Excellent support with real human beings who you can actually speak to (no robots here)
  • It’s possible to get their Compliance Team to review your content and sending practices prior to sending your first broadcast, to ensure that the sending limit is raised high enough. We can fast-track this process by introducing you to the appropriate specialist in SparkPost, please contact us to arrange this.

Cons:

  • Deliverability for new clients is worse than Infusionsoft’s deliverability. Existing clients on better quality IP addresses are not generally seeing any issues.
  • Sending limits can be an issue:
    • Their free account allows up to 10,000 emails per day to be sent, no more, under any circumstances. If you go over this limit, all subsequent emails sent that day will be lost.
    • Their paid-for accounts initially only allow 10% of the monthly allowance to be sent per day. Again, if you go over this limit, all subsequent emails sent that day will be lost.
      • So, for the Pro plan ($24.99/month), you can only send 10,000 emails per day.
      • And for the Super Pro plan ($199.99/month), you can only send 100,000 emails per day
    • If you need to send more than these limits, please contact us for advice.
    • You can learn more about SparkPost limits here.
  • Just to reiterate, as is this is important: If you go over your daily sending limit, all subsequent emails that you send will be lost.

Other Services

You can choose from other services such as SendGrid, Mailgun and SMTP.com, but we don’t have much direct experience with these services at the moment. Any comments from users of these services will be gratefully received! Just one warning – all of the testing we’ve done so far with Sendgrid, Mailgun and SMTP.com has seen the test emails end up in the Spam folder!!! Your mileage may vary though, please get in touch if you’d like us to help you test these services out.

Your Own SMTP Server

You’ll already have your own SMTP server that you use for sending your “everyday” emails from your own personal email client. In some cases, this might be your Internet Service Provider, in other cases it might be Gmail, Google Apps for Work, iCloud, Microsoft Office 365, etc.

Although it’s technically possible to set up WeDeliver to send emails via your own server, this is normally very dangerous as your ISP or Email Provider normally has a clause that allows them to shut you down for sending bulk emails. At the very best, they will normally limit the rate at which you can send emails.

Having said that, for specific types of transactional email, there can be a strong benefit sending from the same server as you send your everyday emails.

Please note that we have to set up WeDeliver specially to allow you to use your own SMTP server, so please raise a support ticket if you’d like to discuss this and we’ll be happy to advise you.

Sending Limits

If you are likely to be sending large volumes, you will need to increase your sending limit before attempting to send a broadcast. Please contact us to make an introduction to your chosen email provider if you need to increase your daily sending limit.

“Warming Up” Your New Service

Ironically, there’s a risk that you’ll receive more spam complaints than you have in the past, the first few times that you use a new email service. The reason for this is that some people might receive your emails when previously they ended up in Spam or didn’t get through at all.

So to start with, we strongly recommend that you send a couple of mailings to the most-engaged part of your audience (i.e. those who have opened at least one of your emails in the last 3 months).

At the same time, be careful that you don’t go over your sending limit!

Be careful when choosing the content for your first few emails – again, because some people might be hearing from you for the first time in a while, make sure that your email is a really strong “value-add” email, certainly not a direct sales email!

Beware of Infusionsoft Throttling!

The very first time you send a broadcast from Infusionsoft via WeDeliver.Email, the broadcast will almost certainly be throttled by Infusionsoft because it considers the new Email2 addresses to be “cold”.  This means that the broadcast may take up to 16 hours to complete and will be stopped early if the number of spam complaints is too high.  So, don’t send any time-sensitive emails out the first time you use WeDeliver.

Getting Started

1. Set Up Your Email Sending Service

Create an account with your preferred Email Sending Service.

We currently support the following services:

    • Send13 (very quick and easy to set up. slightly more expensive but they will work with you to improve your deliverability over time. Highly recommended)
    • Amazon SES (slightly longer to set up but excellent deliverability)
    • SparkPost (with a free plan that allows you to send up to 100,000 emails per month, but deliverability has not been as good recently)
    • Mailgun (during recent testing, issues have arisen sending from Mailgun to Hotmail addresses)
    • SendGrid
    • SMTP.com

 

1a. Set Up Send13

Setting up Send13 is very straightforward.

First, you need to go to http://app.send13.com/public/register.php and register. You will be asked for some basic information, such as company name, address, industry, your job role, etc.

You’ll also need to supply billing information and subscribe to the lowest possible plan.

Next, click on DKIM/SPF on the left  hand side and then on Add a DKIM key.

Send13 DKIM 1

Enter your domain name, (in our example, hq.wedeliver.email) and click Add.

Send13 Add Domain Key

Next, click on the blue SPF button to see either the change you need to make to your EXISTING SPF record or the data for your SPF record if you don’t already have one.

Send13 SPF button

For existing SPF records, you’ll simply need to add “include:mta01.send13.com” (without the speech marks) to your SPF record. Alternatively, if you right-click on the highlighted record and copy it, you can replace your existing SPF record with this, as it’s your existing record PLUS the send13 bit. For a brand-new SPF record (do this only if you don’t already have an SPF record), this will need to be “v=spf1 a mx include:mta01.send13.com ~all” (without speech marks) and will need to be a TXT record. Again, you can just right-click and copy the highlighted record.

Send13 SPF

Log into your DNS hosting CPanel and add or modify the SPF record as well as add the DKIM record as specified. Please note that the DKIM record is a TXT record. The Name will be send13._domainkey.yourdomainname.com and the Value will start with k=rsa;

Send13 DKIM 2

We recommend then using https://dmarcian.com/spf-survey/ to validate your SPF record after you’ve changed it to make sure that you don’t have too many included lookups).

Next, click on API, then on Event Filter and select Bounces, Unsubscribes and Spam Complaints under Filter webhook events. The url you need to enter here is http://wdem.wedeliver.email/external_webhook.php?app=xxxxx&auth=yyyyyy&esp=send13, where xxxxx is your Infusionsoft app name, i.e. the bit before .infusionsoft.com (e.g. rc135) and yyyyyy is the first six characters of your Infusionsoft API key.

Select Auto suppress under Email address suppression, then click Submit.

 

Send13 Webhook 3

IMPORTANT: You will need to contact Send13’s chat support at http://m.me/SendThirteen and telling them that you’re a new WeDeliver customer, in order to make sure that your account is activated. Alternatively, you can send an email to support@send13.com

Once Send 13 have confirmed that your account is activated, you can then send some test emails once you’ve followed the instructions in 2. Enter Your WeDeliver.Email Account Settings.

When you send the test emails (following the instructions in 4. Send Your Test Emails!), make sure they come through (check the email headers if possible to see if they were sent via send13.com).

Only once the webhook and DKIM have been set up would it be safe to send “production” emails via Send13.

1b. Set Up Amazon SES

There are a fair few steps involved in setting up Amazon SES so we thought it would be easier to have them all in one place as well as split across the sections. So here are the step-by-step instructions for setting up Amazon SES, including SPF, DKIM, sending domain, unsubscribes and bounces.

NOTE - You will need to do this for each domain if you are setting this up for more than one domain. However, certain steps are only required once - please see note at the bottom 


If you don't already have an Amazon SES account, please ensure you select US-West-2 or Oregon as your region.

1. Verifying your domain

Once you've logged into the console, locate SES under Application Services (different people have slightly different screens so we have included 2 screen shots of essentially the same thing below).

1-ses-1

1-ses-2

On the next screen, click on Manage Identities.

2-ses-manage-identities

Then, click on Verify a New Domain

3-ses-verify-new-domain-1

Next, enter your domain name, e.g. wedeliver.email, select Generate DKIM Settings and click Verify This Domain

4-ses-verify-new-domain-2

Click on Download Record Set as CSV and click Close. Open the CSV file, then copy the one TXT and three CNAME records and enter them in your DNS control panel. If you don't know how to do this, please get someone who does know to do it for you.

5-ses-verify-domain-dns-settings-2

Do NOT create the MX record shown at the bottom of the screen!

NB: You do NOT need to include your domain name in the name of the record. e.g. for a87aohoibg9anjopegago._domainkey.wedeliver.email, you would only enter a87aohoibg9anjopegago._domainkey

The domain status will show as "pending verification" until the DNS changes  have taken effect. Once updated, it will show as "verified".

2. Set your MAIL FROM domain

Next, find Identity Management on the left and click on Domains, then on the domain name on the right.

6-ses-set-mail-from-domain

At the bottom of the next screen, expand the MAIL FROM Domain section and click on the Set MAIL FROM Domain button.

7-ses-set-mail-from-domain-1

Select something like "mailer", select the default of Use xx-xxxx-x.amazonses.com (in our example, us-west-2.amazonses.com) as MAIL FROM for Behavior if MX record not found and click on Set MAIL FROM Domain.

8-ses-set-mail-from-domain

Set up the MX and TXT (SPF) records in your DNS control panel as shown on the screen. If you already have an SPF record, amend the existing SPF record to include (without speech marks) "include:amazonses.com" (no spaces). DO NOT create a new SPF record, as this will invalidate both the existing and new SPF record. You must only ever have one SPF record per domain.

9-ses-spf-mx-records-1

3. Set up bounce and unsubscribe notifications

Still in the Domains section, expand Notifications by clicking on the arrow to the left of it, then click on Edit Configuration.

10-ses-notifications

Click on Click here to create a new Amazon SNS topic.

 

11-ses-edit-notification-config

Use the following parameters:

Topic Name: WeDeliverEmail (no punctuation)
Display Name: leave blank

Then click Create Topic.

12-ses-create-new-topic

Next, select WeDeliverEmail for Bounces and Complaints and No SNS topic for Deliveries. Leave all the Include original headers boxes unchecked, set Email Feedback Forwarding to Disabled, then click on Save Config.

 

13-ses-save-notification-config

4. Request a sending limit increase

Next, click on Sending Statistics on the left hand side under Email Sending. Check the value for Sending Quota and Max Send Rate. Click on Request a Sending Limit Increase. This will create a case.

14-ses-request-sending-limit-increase

Leave CC blank, then select as follows:

  1. Regarding: Service Limit Increase,
  2. Limit Type: SES Sending Limits.
  3. Make sure the region matches the region you’re using, in our example US West (Oregon).
  4. Limit: Desired Daily Sending Quota
  5. New Limit Value: enter max daily limit required for the size of your database.
  6. Mail Type: Marketing
  7. Website URL: Your url.
  8. My email-sending complies with the AWS Service Terms and AUP: Yes
  9. I only send to recipients who have specifically requested my mail: Yes
  10. I have a process to handle bounces and complaints: Yes
  11. Use Case Description:
    Marketing emails sending out information documents and follow-ups when specifically requested via an opt-in formTransactional emails (e.g. receipts, usernames and passwords)
  12. Contact method: Web
  13. Click Submit.

15-ses-sending-limit-case

 

Do NOT send any test emails until the sending limit has been increased (you will receive an email to this effect).

5. Create SMTP credentials to connect to WeDeliver.Email

Next, click on SMTP Settings on the left under Email Sending, then click on Create My SMTP Credentials.

16-ses-create-smtp-credentials

Put wedeliver as the IAM User Name and click Create.

17-ses-create-smtp-user

Click on Show User SMTP Security Credentials and copy the username and password. Alternatively, click on Download CredentialsIMPORTANT: The is the ONLY TIME these are made available so make sure you save them somewhere you can easily find them if needed. You will need these in your WeDeliver.Email account set-up.

18-ses-smtp-user-credentials

6. Set your webhook to sync unsubscribes between Amazon SES & Infusionsoft

Go back to the console by clicking on the amazon icon in the top left hand corner and click on SNS (currently under Mobile Services).

26-ses-home-button

19-ses-sns

If there's a Get Started button, click on it.

Ensure the correct region is selected (in our example N. Virginia), i.e. the same one that everything else has been set up for (usually Oregon)

20-ses-sns-get-started-1

Click on Topics on the left and copy the ARN that's shown for WeDeliverEmail.

21-ses-sns-topic-arn

Next, click on Subscriptions, then on Create subscription.

22-ses-sns-create-subscription

In the new box, paste the ARN value you copied earlier into the Topic ARN, select HTTP for the Protocol and set the Endpoint to http://wdem.wedeliver.email/external_webhook.php?app=XXXXX&auth=YYYYYY&esp=amazon, where XXXXX = your Infusionsoft app name, i.e. the bit before Infusionsoft.com, YYYYYY = the first 6 characters of your Infusionsoft API key. An example Endpoint would look like this:

http://wdem.wedeliver.email/external_webhook.php?app=rc135&auth=a123bp&esp=amazon

23-ses-sns-create-subscription

Click on Create subscription. This will then show as pending.

24-ses-sns-subscription-pending

Click the refresh button in the top right hand corner and a Subscription ARN should be displayed instead of pending.

 

25-ses-sns-subscription-arn-1

7. Enable DKIM

Go back to Domains (you may need to click the home icon again and select SES) and click on the domain name.

 

27-ses-enable-dkim-1

On the next page, expand the DKIM section by clicking on the arrow to the left of it, then click on ( enable ). If it's already showing enabled ( disable ), you don't need to do anything.

28-ses-enable-dkim-disabled-1

Click Yes, enable DKIM.

29-ses-enable-dkim-yes-enable-1

Your DKIM should now show enabled ( disable )

30-ses-enable-dkim-enabled-1

 

That's it, you're done! You will, however, need to check your Sending Statistics to ensure they've gone up to the limit you requested BEFORE you send any test emails.

NOTE - For any additional domains, you DO NOT need to complete the following steps:

  • Create New Topic (under SNS). Instead, you would select the existing topic by going to the domain, then clicking on Notifications -> Edit Configuration, then selecting the WeDeliver topic from the dropdown for Bounces and Complaints, set the Email Feedback Forwarding to Disabled, then Save Config).
  • Request a Sending Limit Increase
  • Create SMTP Credentials

 


1c. Set Up SendGrid

The SendGrid set-up is much less involved than the Amazon SES one but it was still easier to have its own bullet point devoted to it. Just follow these steps:

1. Setting up your Webhook

Go to Settings -> Mail Settings -> Event Notifications and turn them on (make ACTIVE).

sendgrid-mail-settings

Enter the http post as follows, replacing APPNAME with your Infusionsoft app name, e.g. rc135 (the bit that comes before .infusionsoft.com) and FIRST6APICHARS with the first six characters of your Infusionsoft API (this can be found by going to Admin -> Settings, then clicking on Application on the left and scrolling down to the bottom of the screen).

http://wdem.wedeliver.email/external_webhook.php?app=APPNAME&auth=FIRST6APIKEYCHARS&esp=sendgrid

An example would be http://wdem.wedeliver.email/external_webhook.php?app=rc135&auth=12i8b6&esp=sendgrid

Scroll down to SELECT ACTIONS and tick Bounced, Unsubscribed From and Mark as Spam.

Sendgrid Webhook Actions

2. Generating your API Key

Next, go to Settings -> API Keys -> Create API Key -> General API Key

sendgrid-create-api-key

Name your API Key WeDeliver.Email API Key, select Full Access where possible and Read Access where not possible, then click Save.

sendgrid-api-key-settings

 

IMPORTANT: Copy the API key, as you will NEVER see it again once you leave that screen!

3. Setting up your sending domain

Go to Settings -> Whitelabels -> Domains -> Add Whitelabel

sendgrid-create-domain-whitelabel

Enter a unique name in the Subdomain, e.g. email or post or mailer, then select your domain (most people will only have one domain to choose from), tick the DEFAULT WHITELABEL box, turn AUTOMATED SECURITY to ON and click Save.

If there is no dropdown, type the name of your domain in the DOMAIN field.

sendgrid-domain-whitelabel-settings-3

You may see a black box in the top right-hand corner of your screen when you click SAVE. If this happens, click on Confirm, which will give you the DNS Record information.

Sendgrid Validate Domain

Grab the DNS Record information and enter it as a CNAME in your DNS.

Sendgrid DNS Records 1

 

4. Setting up your tracking domain

Go to Settings -> Whitelabels -> Email Links -> Add Whitelabel

sendgrid-create-email-links-whitelabel

On the next screen, enter a unique  name in the Subdomain, e.g. clicks, then select your domain (most people will only have one domain to choose from), tick the DEFAULT WHITELABEL box and click Save.

sendgrid-email-links-whitelabel-settings-2

Grab the DNS Record information and enter it as a CNAME in your DNS. At the same time, AMEND your existing SPF record to include (without speech marks) “include:sendgrid.net”. Do NOT create a new SPF record if you already have one, as you must only ever have one SPF record per domain!

sendgrid-email-dns-records-1

5. Turning on click tracking

In order for the clicks in your emails to display your email links domain, go to Settings -> Tracking and turn on Click Tracking and Open Tracking (make ACTIVE).

sendgrid-tracking

That’s it, SendGrid set-up done. Now you need to enter the details into your WeDeliver.Email account.

1d. Set Up Mailgun – Coming Soon
1e. Set Up SparkPost

Using the instructions shown in your Email Sending Service, update your DNS records to ensure that your DKIM and SPF settings have been set correctly for the domain that you will be sending emails from.

Go to Account -> Sending Domains and click on New Domain. Enter your sending domain name, e.g. caldon.co.uk, then click on Add Domain.

Next, click on Settings underneath the SPF Text Record (see below) and follow the instructions.

 IMPORTANT: you must only have ONE SPF RECORD for each domain!!! If you have more than one, they cancel each other out.

Sparkpost SPF Record

Then, click on Settings underneath the DKIM Record and follow those instructions as well.

Sparkpost DKIM Record

Next, click on Email Options under Verify by Email.

If you don’t have an email address of abuse@yourdomain.com or postmaster@yourdomain.com, we recommend you set these up, at least to forward to an existing address, so that you can send test emails to these two addresses and click on the links in the emails to verify them.

Please note that you will need to change both the DKIM and SPF settings in your email hosting control panel. There will be instructions in there how to change the records but you may need to google how to do this. There are too many different types of hosts out there for us to provide instructions for all of them.

Bear in mind that it can take up to 6 hours (sometimes longer) for the DNS records to be updated, but once this is done, you will have massively increased the chances of your emails being successfully delivered to the Inbox rather than Spam.

Tracking Domain

In order for your emails to display “clicks.yourdomain” rather than “yourinfusionsoftappname” when someone hovers over a link, you will need to set up a Tracking Domain inside SparkPost. We recommend clicks.yourdomain or click.yourdomain. Using the instructions in Sparkpost, you will then need to update your DNS records with a new CNAME record.

Example:

Go to Account -> Tracking Domains and click on Add Domain.

SparkPost Tracking Domain

Enter your tracking domain name, e.g. clicks.caldon.co.uk, then click on Add Domain.

Sparkpost Add Tracking Domain

Next, click on Settings underneath the CNAME Record (see below) and follow the instructions.

SparkPost Tracking Domain Settings

There will be instructions in your email hosting control panel on how to change the records but you may need to google how to do this. There are too many different types of hosts out there for us to provide instructions for all of them.

Bear in mind that it can take up to 6 hours (sometimes longer) for the DNS records to be updated, but once this is done, you will have your own domain name in all your links, rather than yourapp.infusionsoft.com or sparkpostmail.com.

Once the changes have taken effect and you’ve clicked on Test under the CNAME Record and get a green tick mark next to it, please drop us a line to support@wedeliver.email, as there is one tiny thing we need to do at our end.

You will then also need to click Edit and then tick the Set as Default box.

SparkPost Tracking Domain Set as Default

Bounce Domain

In order for your emails to display “mail.yourdomain” rather than “sparkpostmail.com” in the “mailed-by” section of the full email header, you will need to set up a Bounce Domain inside SparkPost. We recommend mail.yourdomain. Using the instructions in SparkPost, you will then need to update your DNS records with a new CNAME record.

NOTE - You can only have one Bounce Domain in SparkPost. So even if you are setting up multiple Sending Domains and Tracking Domains, they will all share the same Bounce Domain.


Example:

Go to Account -> Bounce Domain and click on Add Domain.

Bounce Domain

Write your bounce domain name (we recommend mail.yourdomain.com) in the field and click Add Domain.

Add Bounce Domain

Next, click on Settings, which will display the settings for the new CNAME record. Please follow the instructions and create a new CNAME record in your email hosting control panel.

Bounce Domain CNAME Settings

Once this has been successful, click on Test and if you see a green tick, it's all done.

Webhook

1. Click on Account down the left hand side

2. Click on Webhooks

3. Click on the orange + New Webhook button

4. For Webhook Name, enter WeDeliver.Email Webhook

5. For Target URL, enter http://wdem.wedeliver.email/sparkpost_webhook.php?app=APPNAME&auth=FIRST6APIKEYCHARS

IMPORTANT: You need to replace APPNAME with the name of your Infusionsoft app, e.g. rc135 (the bit before .infusionsoft.com, e.g. rc135.infusionsoft.com) and replace FIRST6APIKEYCHARS with the first 6 characters of your Infusionsoft API key, e.g. abc123.

6. Leave Authentication Token blank

7. For Events, click on "Select" and then only leave the following events checked:

  • Bounce and Spam Complaint (under Message Events)
  • List Unsubscribe and Link Unsubscribe (under Unsubscribe Events)
  • Everything else should be unchecked.

8. Click on Add Webhook

Sparkpost Webhook 1

Sparkpost Webhook 2

2. Enter Your WeDeliver.Email Account Settings

Once your Email Sending Service has been set up, you can configure your WeDeliver.Email account.

Log in by going to http://wedeliver.email/admin/ and use the username and password you should have received by email.

Firstly, set up the Infusionsoft API details.

1. Click on the Settings link down the left hand side.

2. In the Infusionsoft API details  – Application Name box, enter your Infusionsoft application name.

  • The Application Name is the part of your Infusionsoft URL before .infusionsoft.com
  • e.g. for app ur977.infusionsoft.com, just enter ur977

3. In the Infusionsoft API details  – API Key box, enter your Infusionsoft API Key.

  • The API Key can be found inside your Infusionsoft account by going to Admin -> Settings -> Application and scrolling down to the bottom to find the Encrypted API Key

Once these details have been entered, click Save and ensure that a message appears confirming that the API Key is correct and the details have been saved successfully.

WeDeliver.Email Settings Mandrill


WARNING: The next section is where people make the most common mistake and put the wrong details into the Email Sending Service boxes! Please pay careful attention here!

Secondly, enter the details requested in the Email Settings section.

4. In the Emails Will Be Sent From box, you have two options:

  • a) You can enter a single email address that your emails will be sent "from" by Infusionsoft
  • b) If you need to send from more than one address within the same domain, just enter an @ sign immediately followed by the domain name.

e.g. @wedeliver.email

IMPORTANT: READ THIS OR NONE OF YOUR EMAILS WILL GET THROUGH

You will only be able to send emails from the domain that you have entered in WeDeliver.

If you have more than one domain, please send an email to support@hq.wedeliver.email, detailing all the domains that you send from inside Infusionsoft.

IF YOU DON'T DO THIS, ANY EMAILS SENT FROM A DOMAIN NOT SET UP IN WeDeliver.Email WILL LIKELY GET LOST AND NOT REACH THE RECIPIENTS!!!!!!!!!!!!


5. In the Email Sending Service dropdown, select your Email Sending Service.

6. In the Email Sending Service Username box, enter the login name that you should have already taken from your Email Sending Service.

  • For Send13, this is the username/email address that you use to log into Send13 with.
  • For Amazon SES, this is the SMTP Username that you created for WeDeliver.Email.
  • For SparkPost, this is  SMTP_Injection - but check this on the SparkPost credentials screen.
  • For SendGrid, there are 2 possible options:
    • apikey (i.e. the word apikey). We recommend this option.
    • The username you use to log into SendGrid with, combined with the password you log into SendGrid with

7. In the Email Sending Service Password/API Key box, enter EITHER the password that you log into your email sending service with OR the API key that you should have already created inside your Email Sending Service

  • For Send13, this is the password that you use to log into Send13 with  (WARNING: If you change your Send13 password at any point after you've set up your WeDeliver.Email account, you will also need to change it in WeDeliver.Email, as your emails will not be sent if you don't!).
  • For Amazon SES, this is the SMTP Password that you created for WeDeliver.Email. Please see 1b. Set Up Amazon SES for instructions of how to do this.
  • For SparkPost, this is the API key that you need to generate in SparkPost. See below for instructions on how to do this.
  • For SendGrid, there are again 2 possible options:
    • If you're using the word apikey, this needs to be your SendGrid API key.
    • If you're using the username you log into SendGrid with, this needs to be the password you log into SendGrid with (WARNING: If you change your SendGrid password at any point after you've set up your WeDeliver.Email account, you will also need to change it in WeDeliver.Email, as your emails will not be sent if you don't!).

 

Generating an API key in SparkPost

For SparkPost, you need to generate an API key by going to Account -> API Keys, then clicking on + New API Key.

SparkPost Create API Key 1

On the next screen, give you API key a name (we recommend WeDeliver.Email API key), then check "Select All" under "API Permissions" and click ADD API KEY.

SparkPost API key settings

Finally, make sure you copy your API key and paste it somewhere you will be able to find it again, as you will never be able to see the whole key again. You can paste it straight into your WeDeliver account or somewhere else.

SparkPost Copy API key

3. Create Virtual Email Addresses

At this stage, you’re almost ready to send your first test emails!

The only thing left to do is to create “virtual email addresses” for each contact you want to test with in your Infusionsoft database and update the EmailAddress2 field for each of those contacts. This is all done automatically within the WeDeliver.Email admin console.

IMPORTANT: WeDeliver.Email works by using the EmailAddress2 field inside your Infusionsoft application. If you are already using this field, stop at this point and request support, otherwise your data will be overwritten!

You need to decide whether to use Full mode or Selective mode. During testing, we recommend using Selective mode with a small number of contacts.

Full mode creates an Email2 alias for all contacts in the database;

Selective mode only creates an Email2 alias for those contacts with a specific tag applied. (This tag needs to have already been create inside Infusionsoft and applied to the contacts you want to use during testing).

Inside the WeDeliver.Email admin console, click on the Update Contacts link down the left hand side.

Then select “Full” or “Selective” mode as appropriate.

If you select “Selective” mode, choose the tag that you have applied to the contacts you are testing with.

Finally, click the Update Email2 button, which will start the process to create virtual email addresses and update the contacts inside Infusionsoft.

Because this process uses the Infusionsoft API, which can be quite slow, this can take up to one second per contact that needs to be updated.

You can navigate away from this page and the update will continue; the Dashboard screen will confirm the number of contacts that are updated, or you can return to the Update Contacts screen to see progress. Do not click the Update Email2 button a second time! It will restart the process.

4. Send Your Test Emails!

At this stage, you’re ready to go!

Anything sent from Infusionsoft to the EmailAddress2 field will go via the WeDeliver.Email system and be automatically forwarded on to the correct recipient via your Email Sending Service. All tracking of email opens, link clicks etc. will work as normal.

Warning: The first time you send to a batch of contacts via their EmailAddress2 field, Infusionsoft will throttle the batch, meaning that only some contacts will receive the email immediately.

Provided the spam complaint rate is low enough, the rest of the emails will be released gradually.

Please bear this in mind the first time you send mails to a new batch of contacts via EmailAddress2, and do not send any time-sensitive emails this way until the batch has been "warmed up".

There are 4 ways to send an email

1. Using The New Email Builder

Once you’ve selected your template, you need to set the Recipient Options. If the Sender and Recipient information isn’t showing, click on the down arrow.

cb-email-new-sender-info

When you can see the sender and Recipients options, click on Recipient options, select Email Address 2 from the dropdown and click Save.

 

 

 

broadcast-email-new-2a

broadcast-email-new-3a

2. Using the Classic Email Broadcast Tool

To test by sending a broadcast, set up the broadcast in the normal way, but change the “To:” field from ~Contact.Email~ to ~Contact.EmailAddress2~ if using the standard broadcast email. Please note that there is NO dropdown using this method and you will have to type ~Contact.EmailAddress2~ exactly the way it is displayed here, with a tilde before and after, NOT a dash, and with a capital C, E and A.

Old broadcast builder email address default

Old broadcast builder email address2

3. Using Campaign Builder

To test from Campaign Builder, edit the specific email(s) as needed so that they are sent “To” Email Address 2. If you don’t see the From and To information, you need to click on the little arrow pointing down.

cb-email-new-sender-info

You will need to click on the little pencil next to “To: Email”, then select Email Address 2.

cb-email-new

4. Using Campaign Builder (Legacy)

To test from Campaign Builder, edit the specific email(s) as needed so that they are sent “To” Email Address 2

Campaign email address2

Once the emails have been sent, you should be able to log into your Email Sending Service, check the logs, and see that the emails have been sent.

Note: Once all existing contacts have been set up with a virtual email address, you need to configure Infusionsoft to create virtual email addresses for all new contacts as they opt in to your list. To do this, see the documentation for creating an HTTP Post.

If you have any difficulties, please raise them in the Facebook Group.

5. IMPORTANT! Handling Unsubscribes/Opt-Outs

When a contact opts out of receiving your emails, this will only opt out/unsubscribe the Email1 email address if you sent it directly from Infusionsoft or the Email2 email address if you sent it via wedeliver.email. This means you can potentially continue sending emails to someone who has opted out and risk getting spam complaints.

But fear not. Adrian has written a script that resolves this issue and synchronises the status between Email1 and Email2.

We STRONGLY RECOMMEND that you implement this IMMEDIATELY!!!

Just follow these steps:

Go to Marketing -> Settings -> Email Defaults, scroll down to “When Someone Opts Out of All Email Marketing:” and click on Actions.

Email Defaults2

Once you’ve clicked on Actions, you get to the Manage Action Set screen, where you will need to select “Send an http post to another server” from the Add New Action dropdown.

Add Action

You will then be prompted for the Post URL, which will be

http://wdem.wedeliver.email/process_optout.php?app=APPNAME&auth=FIRST6APIKEYCHARS

where you need to replace the placeholders as follows:

APPNAME = your app name, in our example, rc135 (the bit before .infusionsoft.com)
FIRST6APIKEYCHARS = the first 6 characters of your API key, in our example 7cf726 (see section 2. of the FAQ if you don’t know how to find your API key)

No Callname

IMPORTANT: This will not work if you opt someone out manually, e.g. because they have called or emailed you and asked to be removed. Instead, when you set their email address on the General tab to Opt-Out, you will need to do the same for Email Address 2 on the Additional Info tab

To set someone’s email address to opted out, go to their contact record and click on “Manage Email Status” underneath the email address. This opens another window, in which you need to click on the arrow next to “Manually opt-out this address”.

Manage Email Status Manage Opt-Out Status

Select “Default Opt-Out” and click Submit.

Opt-Out

Finally, click Save in the person’s contact record.

6. IMPORTANT! Handling Spam Complaints

Please follow these steps so that when an email bounces or someone reports your email as spam, their status is automatically updated in Infusionsoft.

WARNING: If you don't implement this, there is a massive risk that you will generate an abuse complaint by continuing to email somebody after they've clicked the "spam" button!

To test that this works, once you’ve followed the appropriate instructions below, the easiest way to test it is to add a new contact to Infusionsoft using an email address that looks valid but will definitely bounce, such as invalidaddress@gmail.ocm, and add them to a campaign that will set up Email2 and send out an email via WeDeliver.Email.

For Send13, please refer to 1.a Set Up Send13.

For Amazon SES, please refer to 1.b Set Up Amazon SES.

For SendGrid, please refer to 1c. Set Up SendGrid.

For SparkPost, please refer to 1e. Set Up SparkPost.

If you are using other third party email service providers, please contact WeDeliver.Email Support for instructions.

7. IMPORTANT! Dealing With New Contacts (Setting Up an HTTP Post)

Whenever a new contact is added to your Infusionsoft database, you need to be sure that the EmailAddress2 field has been populated before you send any emails (broadcast or campaign mail) to the new contact using their EmailAddress2 field.

Whenever you import a new list, be sure to go back to the WeDeliver.Email admin console and re-run the “Update Contacts” process as shown in section 3.

The only way to set up the EmailAddress2 field automatically when a new contact opts in via a web form is to insert an additional sequence immediately after each web form in every campaign that you’re setting up to use EmailAddress2.

The most reliable way to do this is to create a sequence containing an HTTP Post that’s connected immediately after your opt-in form:

Web form + HTTP post

The HTTP Post needs to be configured as follows:

POST URL: http://wdem.wedeliver.email/setup_email2.php

Name/Value Pairs:

contactId: ~Contact.Id~
email: ~Contact.Email~
app: your app name (in our example, rc135)
auth: the first six characters of your API key
callName: an API goal name of your choice (see below)

HTTP post

The callName value is used to trigger an API goal immediately after the HTTP Post sequence, which will only be triggered when the EmailAddress2 field has successfully been set up. This ensures that the campaign will never continue without an EmailAddress2 value being set.

IMPORTANT: The callName needs to be unique to this sequence and the subsequent API goal. Otherwise, you will find multiple sequences being started all at the same time, which is almost certainly not what you want!

Please see an additional explanation below, after the API Goal)

Because there is a small risk that an HTTP Post might fail, we strongly recommend that a looping sequence is set up that will continue to run until the HTTP Post succeeds.

To do this, a tag will need to be created to trigger the loop (we recommend the use of a category called Trigger Tags for all tags that cause goals to be achieved). When this tag is applied, it will remove the contact from the sequence and then immediately re-add them.

In our example, the tag is called Trigger Tags -> Email2 NOT set up – Webform1 Opt In. We recommend you set this up in CRM -> Settings -> Tags, so that you can put it into the category Trigger Tags.

Looping Tag

The tag applied goal needs to be set up twice (you can create a copy) and then connected to the HTTP Post sequence both BEFORE and AFTER the sequence. The one AFTER the sequence removes contacts from the sequence when it’s applied, i.e. after the HTTP post failed for whatever reason. The one BEFORE the sequence then immediately puts the contact back into the sequence to try again.

set-email-2-campaign-new

Inside the sequence, you need to first remove the trigger tag, so that it can be re-applied at the end of the sequence if necessary.

HTTP post sequence

 

Immediately after the HTTP post sequence, you need to set up an API Call goal with the following details:

Integration: wdem (this MUST be changed from the default)
Call Name: (this must exactly match the callName field in the HTTP Post that you just set up)
(in our example, this would be email2SetupWebform1OptIn)

configure-api-goal-new

 

WARNING!

The Integration name MUST BE SET TO wdem and the Call Name MUST MATCH EXACTLY the callName set in the HTTP Post. UNLESS THIS IS FOLLOWED EXACTLY, the API goal will never fire!

The reason for the API goal and unique callName is so that we can be 100% certain that the Email2 field has been updated before the campaign moves on, and by having a unique callName in every HTTP Post with a matching callName in the subsequent API goal, it allows HTTP Posts to be replicated in different sequences and campaigns without interfering with each other.

 

8. What Happens With Double Opt-In (Email Confirmation)?

The need for double opt-in (“email confirmation” in Infusionsoft-speak) is significantly reduced when using WeDeliver.Email – it also introduces a specific issue as described below.

Historically, the use of double opt-in served several purposes:

  1. Confirmation that the user/email address is genuine
  2. A way of getting Infusionsoft to send mails from a “more trusted” server that is only used to send emails to double opted-in contacts and hence getting better deliverability – this is made redundant by using WeDeliver.Email
  3. A way of protecting against Infusionsoft penalising you for spam complaints – they are less likely to take action against spam complaint from double opted-in contacts. But again, this is less of a risk using WeDeliver.Email as the ISP spam complaints will go to Mandrill etc. rather than Infusionsoft.

The challenge that we face is that it’s the email address that gets double opted-in, not the contact itself.

There is little point sending a confirmation email to the Email2 address as we would only want their primary address to be confirmed within Infusionsoft, but of course by sending the email to Email1, the risk of undeliverability is higher.

Furthermore, when a contact clicks a double opt-in link that is sent to their Email2 address, they will see a message saying that the address xxxxx-xxxx@wedeliver.email has been confirmed, rather than their correct email address. This is bound to cause confusion!

For this reason, my strong recommendation is to not use the Infusionsoft email confirmation “locked” sequence. Instead, replace it with a standard sequence containing an email that sends out a “link click” email to the Email2 address. This should then lead into a “Link Click” goal which would then move on to the rest of the campaign.

This would still serve the purpose of allowing a contact to confirm that they are legitimate, but would confirm the contact itself rather than confirming a specific email address.

Data Management

What Happens When I Merge Contacts

Be careful when you merge contacts!

The standard Infusionsoft action is to replace old data with newer data, whilst keeping the original contact ID.

When you’re merging contacts, if you’re retaining the email address from the original contact, you will need the old EmailAddress2 value to be kept. Conversely, if you’re retaining the email address from the newer contact, you will need the new EmailAddress2 value to be kept.

When merging manually, you need to be careful and check that you merge the data in this way.

When merging in bulk, Murphy’s Law states that you’ll want the newer information in every case apart from for the EmailAddress2 field. In this case, we strongly recommend re-running the Update Contacts function in the WeDeliver.Email admin screen

Troubleshooting

Why does Email2 not get set up for some contacts?

Neither the “Update Contacts” tool nor the HTTP Post script will create an Email2 address if the contact’s primary email address is opted out, bounced or reported spam.

This is to protect you and make 100% certain that you won’t mistakenly send an email to any of these contacts.

If you see a contact with a blank Email2 address when you’d expect it to have been created, please check the email status of their primary email address and you should be able to work out why an Email2 address wasn’t created.

Advanced

How Do I Compare Infusionsoft’s Deliverability With a Third-Party Provider?

In order to find out whether you really do have a deliverability issue, we strongly recommend that you do a split test of a broadcast, with 50% of the recipients being sent to via Infusionsoft, the other 50% via WeDeliver.Email and the third-party transactional email provider of your choice.

You will need to ensure that the sending limit of your chosen mail service is high enough to allow you to send everything in one go (especially if they have hourly or daily limits). It’s vital for the broadcast email to be a “value-add” email rather than a “sales offer” email, as it’s possible that people will hear from you who haven’t heard from you in a while and there’s a greater risk of them hitting the spam button if you’re just selling them something.

It is important for these 2 emails to be identical and to go out at the same time, as you need to have no variables, such as different time of day, different subject, etc. apart from one batch being sent via Infusionsoft, the other via WeDeliver.Email.

So that you can create a random split test, you will need to tag all the recipients with one of 2 tags.

You do NOT create these tags in Infusionsoft, the split testing tool will create them for you.

Tagging Your Contacts

We recommend you call them something self-explanatory, such as Split Test A and Split Test B or Split Test Infusionsoft and Split Test WeDeliver. If you’re sending to the whole of your database, you can skip the next paragraph. If you’re only sending to a subset of your database, please read the next paragraph carefully.

Before you apply the split test tags, you will need to tag all of the contacts that you want to include in your broadcast. This tag should again have a self-explanatory name, such as Contacts for Split Testing or simply Split Test.

Once you’ve tagged all of the contacts you want to include in the split test, you’re ready to apply the 2 split testing tags. There are 2 ways of doing this:

Tagging: Option 1

1. In your browser, type the following url: http://wdem.wedeliver.email/tag_split_test.php?app=appname&auth=apo1st6&tag=xx&tag1=yy&tag2=zz

2. You will need to replace appname with your Infusionsoft app name, which is the part before infusionsoft.com, e.g. rc135 for rc135.infusionsoft.com.

3. api1st6 needs to be replaced by the first six characters of your API key (the API Key can be found inside your Infusionsoft account by going to Admin -> Settings -> Application and scrolling down to the bottom to find the Encrypted API Key).

4. You will need to replace xx with the ID number of the Split Test tag that you’ve applied to all of the contacts that you want to send the broadcast to. If it’s going to your entire database, please set this to 0 (zero), i.e. tag=0.

5. yy will need to be replaced with the ID number of Split Test Tag 1 and zz with the ID number of Split Test Tag 2.

Your url should then look something like this:
http://wdem.wedeliver.email/tag_split_test.php?app=rc135&auth=ab7jn3&tag=1234&tag1=1236&tag2=1238

6. In the example above, the app name is rc135, the first 6 characters of the API key are ab7jn3, the split test tag ID is 1234 (note that this would need to be 0 (zero) if you’re sending to your entire database), the ID  of the 1st split test tag is 1236 and the ID of the 2nd one, 1238.

7. Once you’ve done all of the above, hit Enter. Your tags will then be automatically applied at random. Remember that this will take about 1 second per contact.

Tagging: Option 2

The other way is to randomly allocate – but not apply  straight away – one of the 2 tags to each of the contacts selected for the broadcast and list them in your web browser. Below are the step-by-step instructions for using this tool, which is much faster than the completely automated way.

1. In your browser, type the following url: http://wdem.wedeliver.email/tag_spreadsheet.php?app=appname&auth=api1st6&tag=xx&tag1=yy&tag2=zz.

2. You will need to replace appname with your Infusionsoft app name, which is the part before infusionsoft.com, e.g. rc135 for rc135.infusionsoft.com.

3. api1st6 needs to be replaced by the first six characters of your API key (the API Key can be found inside your Infusionsoft account by going to Admin -> Settings -> Application and scrolling down to the bottom to find the Encrypted API Key).

4. xx will need to be replaced with the ID number of the Split Test tag that you’ve applied to all of the contacts that you want to send the broadcast to. If it’s going to your entire database, please set this to 0 (zero), i.e. tag=0.

5. You will need to replace yy with the name of Split Test Tag 1 and zz with the name of Split Test Tag 2.

NOTE: If you’re using spaces in the tag names, you will need to put %20 instead of the space. Your url should then look something like this:
http://wdem.wedeliver.email/tag_split_test.php?app=rc135&auth=ab7jn3&tag=1234&tag1=Split%20Test%20A&tag2=Split%20Test%20B

6. In the example above, the app name is rc135, the first 6 characters of the API key are ab7jn3, the split test tag ID is 1234 (note that this would need to be 0 (zero) if you’re sending to your entire database), the name of the 1st split test tag is Split Test A and the name of the 2nd one, Split Test B.

You will pretty much instantly get a list headed “ContactId, Tag” with the IDs of the contacts and the corresponding random tag A or B, similar to the one below.

ContactId,Tag
35507,A
35245,B
6173,A
10143,B

7. Next, copy that list into a spreadsheet and save it as a csv file. You may need to use the Text to Columns function if the ID and tag name have gone into the same column. To do this, highlight Column A, then go to Data and select Text to Columns.
Text to Columns2

8. You should see a screen where Delimited is selected. Click Next.

Delimited

9. Set the delimiter to Comma and click Finish, then save the file.

Comma

 

10. Your spreadsheet should now be split into 2 columns.
Split into 2 columns

11. In Infusionsoft, go to Admin -> Data Cleanup and click on Modify Existing Records
Data clean-up import

12. On the next screen, click on Go
Modify existing records

13. Next, browse to your csv file and, once you’ve found it, click on Next.
Browse to csv

14. You will almost certainly get a screen like the one below, with “No match, pick an Infusionsoft field” for both the ID and the tag.
No match

15. Set the ContactId to Infusionsoft’s Contact ID and select “Create tags from your field values” for Tag, then click Next.

Matched

16. On the review screen, you should just see the first Contact ID from the spreadsheet and the tag name it’s been allocated. Click Done.

Final review

Sending Your Broadcast

You will need to send 2 broadcasts as close to each other as possible so that the time of day does not skew the test. We recommend creating 2 saves searches, one for each tag. You will then send the broadcast to one of the 2 lists the usual way so it will go via Infusionsoft. To send the broadcast to the other list via WeDeliver.Email and your third-party email provider of choice, please read the following instructions carefully.

NOTE: These instructions are for setting the "To" address to Email Address 2. They are NOT generic instructions on how to send a broadcast.

There are 3 ways to send an email broadcast:

1. Using the Classic Email Broadcast Tool

Set up the broadcast in the normal way, but change the “To:” field from ~Contact.Email~ to ~Contact.EmailAddress2~ if using the standard broadcast email. Please note that there is NO dropdown using this method and you will have to type ~Contact.EmailAddress2~ exactly the way it is displayed here, with a tilde before and after, NOT a dash, and with a capital C, E and A.

Old broadcast builder email address default

Old broadcast builder email address2

2. Using the Send an Email Broadcast Tool

If you’re using the Send an Email Broadcast option, it’s on the “Who will receive this email?” screen and only once you have selected your attendees that you are able to change this in Recipient options (1. select your recipients – either by tag or saved search or by creating a new search. 2. Click on Recipient options. 3. Select Email Address 2 from the dropdown).

New broadcast builder email address

New broadcast builder email address2

3. Using The New Email Builder (Beta)

Very similar to the Send An Email Broadcast tool, except that the recipients are selected on the same screen as the subject written and the sender is set.

Only once you have selected your attendees are you able to change this in Recipient options (1. select your recipients – either by tag or saved search or by creating a new search. 2. Click on Recipient options. 3. Select Email Address 2 from the dropdown).

Beta Broadcast Email

Beta Broadcast Email 2

Once the emails have been sent, you should be able to log into your Email Sending Service, check the logs, and see that the emails have been sent.

Note: Once all existing contacts have been set up with a virtual email address, you need to configure Infusionsoft to create virtual email addresses for all new contacts as they opt in to your list. To do this, see the documentation for creating an HTTP Post.

If you have any difficulties, please raise them in the Facebook Group.