Mailings Dashboard

What are the grey headers across the top (i.e. all, drafts, etc.)?

These headers reflect the mailing's status. Click on the header to see a short list of the recent mailings matching that status. To see all mailings with that status, use the Browse All button. Here's what they mean:

  • Summary: Includes a short section for each status.
  • Drafts: Mailings that have not been sent or scheduled. Includes recurring mailings where the schedule has not been confirmed.
  • Scheduled: Drafts that are scheduled to send in the future, including recurring mailings.
  • Rebuilding: Unsent mailings with a target set that is rebuilding.
  • Models: Mailings that have been marked Is Model. Models can be copied but cannot be sent.
  • Sent: Mailings that have been sent excluding recurring mailings.
  • Recurring Sent: Recurring mailings that have been sent.

Why Do Some Mailings Appear Under A Date?

Mailings that are listed under a date are ones that have enabled Autoexcludes for that date.

Autoexcludes is a mailing prioritization feature most useful for groups that send out multiple mailings a day and want to prevent users from receiving more than one mailing a day.

Learn more about Autoexcludes here.

Can I Customize What I See Here?

Yes, you can modify the summary you see for Sent mailings. You can do this by editing the one-line mailing stats report.

How Do I Create A Mailing?

You can create a new mailing from a blank draft, or, if you have mailing Models, from a Model mailing.

To create a mailing from a blank draft, click the Click New Draft button.

To create a mailing from a model, click the Draft from Model button and select the model you'd like to copy.

You'll start on the Compose screen. Read about the steps and options for creating a draft.

I Hit Send Too Quickly. Can I Undo That?

Once you hit Send, the mailing will start sending. If you run into this problem often, a superuser can configure a delay on your sends. With that delay, staff with "receive all mailings" permissions will receive the mailing immediately, but it won't go to your universe until the delay has passed, giving you additional time to catch mistakes.

There is no way to pull back mailings that have already sent, but if you act quickly, you could hit Stop on a mailing that has not yet finished sending to its entire universe and prevent the rest of the universe from receiving that mailing.

If you want to resend the mailing to the users that have not yet received the mailing (for instance, you found a typo, hit Stop, and want to resend after fixing it) then you will want to:

1: Copy the stopped mailing to create a new mailing.

2: Update the new mailing's content or targeting as applicable.

3: Add an exclusion of the stopped mailing when targeting the new mailing.

4: Hit send on the new mailing.

I Hit Send But Why Haven't My Users Received It Yet?

There could be a couple reasons.

ISPs will sometimes throttle or block messages for a period. We use an adaptive delivery system that changes your delivery speed to try to get the best delivery rates possible but this is not foolproof. The section on deliverability has our best information on how you can work to minimize delays.

If this happens, notify us through the support form and send us a sample email with the header. We'll do whatever follow up is possible - most ISPs don't respond to tickets but they may still help.

Or your mailing may still be sending. Depending on the number of members targeted by a mailing, it can take some time for the mailing to finish sending to all members. For these mailings, the mailing status will say "Sending" and an estimate of when it will finish sending.

How Do I Make A Recurring Mailing, Like A Welcome Series?

Creating and writing content for a recurring draft is just like for a normal draft; the differences are mostly in targeting, sending, and maintaining the mailings once they're launched.

Read our Welcome Series FAQ for an example of one use for a Recurring Mailing.

Read more about recurring mailings.

How Do I Customize My Mailings Appearance?

Email wrappers define the header and footer appearance and content for your mailings. You can also use them to create mailing templates to customize your mailing Compose screen.

The default wrapper doesn't include any appearance settings, but it does include a link to your default unsubscribe page. You can link to a different one, but you must link to one of your unsubscribe pages.

If you do not select an email wrapper for your mailing, then the mailing will be sent with a bare wrapper that has no appearance settings and a link to your default unsubscribe page.

You can create as many wrappers as you'd like. We've also provided some built-in examples of wrappers.

Click the Email Wrappers link on the Mailings Tab, to see a list of all your current wrappers, ordered alphabetically after the default wrappers (remember you may have a default for each Language).

Read more about creating new email wrappers.

Follow these steps to create a new wrapper:

1 On the Compose screen click the + sign to the right of Email wrapper. Or select Email Wrappers from the Mailings Tab and then click Add email wrapper.

2 Enter the wrapper name. This will be the name displayed in the Email wrapper dropdown.

3 In the Template box put your header HTML before the code snippet {% block content %}{% endblock content %} and your footer HTML after it. See Wrapper HTML for more information. If you want to use preview text in your mailings, your wrapper must support it. To add additional content fields to your mailing Compose screen, use custom mailing fields in the wrapper to create a mailing template in the wrapper.

4 Leave the Text template box blank unless you want to create your own text-only template. ActionKit automatically generates a text template from your HTML template. If a user has HTML disabled in their email program, the text version is what they see. If you want to insert a logo or change the line breaks or something for text-only users, you can do that here. Be sure to include: {% block content %}{% endblock content %} where you'd like the email body to show.

5 Enter the Unsubscribe text and Unsubscribe HTML in the next two boxes. The Unsubscribe text and Unsubscribe HTML boxes will show {% include "unsubscribe.txt" %} and {% include "unsubscribe.html" %}, respectively. These insert ActionKit's default unsubscribe language ("You can unsubscribe from this mailing list at any time.") and a link to the unsubscribe page you've set as the default. (See Unsubscribe Pages for more info.) If you want to use your own text or change the appearance or link to a different page you can make those changes in the HTML and text boxes. For example, you could enter "Click here to remove yourself from our mailing list."" and include a link to a specific unsubscribe page by entering the complete URL (such as, http://docs.actionkit.com/cms/unsubscribe/spanishunsub/ to link to a Spanish language unsubscribe page). See Creating unsubscribe links for more information.

6 Select the relevant Language from the dropdown list.

7 Select Is Default if you'd like this wrapper to be the default wrapper for the language chosen in step 6. The language default is pre-selected for confirmation emails when you create a page using the same language. See languages and multilingual campaigns.

8 Click Save to store your new wrapper.

How Does Hide Work? Can I Delete A Mailing?

Most data in ActionKit cannot be easily deleted, but can be hidden. Some objects that can't be deleted from the admin can be deleted using the API.

Objects you hide don't show up in a search or object list. For example, if you hide a mailing it won't show up on the browse all mailings screen or in the list of mailings you can include or exclude when you're selecting recipients for a new mailing.

When an object is hidden it is also disabled. For example, if you hide a page, users will not be able to submit on that page. Be careful not to hide objects that are currently in use.

You'll be asked to confirm that you really want to hide some objects, like pages, as a safeguard against accidentally hiding something that is in use.

You can unhide an object by going to the list for the object type. From the Mailings or Pages Tab, click "Shown hidden" to see the hidden objects. Select the "show" link for the mailings or pages you want to unhide.

Browse All

This screen displays the same Summary Data as the dashboard except the status column indicates whether it is a draft, scheduled, or sent mailing. Recent change timestamps are not displayed for drafts.

From this listing you can:

  • Filter mailings by status (draft, scheduled, completed, recurring, etc.), send start, and tag using the toolbar on the right.
  • Search by key word and sort the list by specifying Order By and Descending or Ascending and clicking Search.
  • Stop a mailing while it's sending; the stop link disappears when the mailing has been sent to everyone.
  • Show hidden or disabled mailings by clicking Show Hidden.
  • Remove a listing by clicking Hide.
  • Create a new draft mailing by coping an existing mailing.
  • Bulk edit mailings to show hidden mailings or add/remove tags from mailings.

Create New Draft

To create a mailing, click the Click New Draft button.

You'll start on the Compose screen. Read about the steps and options for creating a draft.

Create Model

Model mailings are drafts that you've designated as templates to be copied as the basis for other mailings. Model mailings can not be sent.

You may want to create different models for particular kinds of mailings to save time and help enforce business rules. For example, if you have a C3 and a C4, you might have a model fundraising appeal for each where you've selected the proper from line and wrapper and limited the targeting to the correct list. Later, you can copy the appropriate model to create a a draft that shares those common elements, edit it as needed, and send it normally.

To designate a mailing as a model simply click the Is Model checkbox.

Note

Only staff users with the Mailings - Edit plus Model Mailings permission and superusers can create and edit model mailings. The checkbox to designate a mailing as a model will not show up for other users.

Create A/B Test Group

Test groups allow you to group two or more mailings to make head-to-head testing easier and more foolproof. Using a group helps protect against common testing mistakes by making sure the mailings' targeting criteria and rough size match, that the groups don't overlap, and that they're launched at the same time. They also help simplify the process by letting you review and launch the whole set of mailings from one screen, and use a few clicks to compare the mailings with statistical details and launch the winning mailing.

You can still run manual tests, using the Compare Mailings report to compare performance. In some cases this is the better approach. Test groups only make sense when mailings' targeting, size, and launch time all match: they're not designed for testing three petitions to three different list segments, or testing sending the same message on different days of the week. Groups also aren't available for petition delivery mailings or recurring mailings. And for small variations in message content, it may be simpler to create your own test using the mod filter.

To start, click Create A/B Test Group on the Mailings dashboard. Enter a name; click drafts you'd like to include or, if you'd like ActionKit to create blank drafts for you, enter how many you want.

When you edit the targeting of any draft in the group, it will change targeting for all of them. When you pick a user limit, note you're limiting how many users each Mailing in the test can hit--it's not an overall limit for all mailings combined.

After you've created your test and entered final content, then click Proof and Send Test Group from any group member's Proof and Send screen (or click "Launch Test" in the drafts list). You'll see basic information on each draft and previews; if you see you need to make edits, click the title of any draft to go back to it. You can click "Edit test group settings" at the top of the page to add or remove drafts, change the title, or cancel the test. (You can access the same settings from the bottom of the targeting screen of any Mailing in the group.)

When everything's ready, scroll down to the bottom of the targeting screen. The system will check for obvious problems (e.g query not built, missing content, etc.) and hide the Send button if it finds any. When ready, click Send (or schedule, if applicable), take a moment for artistic appreciation of the haiku, and confirm. Even if you set up an immediate send, the test drafts will show in the Scheduled section on the Mailings Tab, sometimes for up to ten minutes.

Click the Test Results link on the dashboard to see the Compare Mailings report comparing the drafts. In the "results summary" view, you can see whether any draft is significantly ahead of the others (indicated by other drafts' numbers appearing greyed out) and see 95% confidence intervals for opens, clicks, and actions. (You might have to make a decision when without a single significant winner sometimes, but it's good to be aware of the uncertainty.)

Clicking one of the buttons in the Select Winner column of the report will load a copy of the winning Mailing, which excludes all of the test mailings and removes any limit on number of users. You can also click on a subject to see a mailing's individual report, or go back to the content-review screen you launched the test from. From an individual mailing report, you can click on a subject to choose a winning subject and winning mailing at the same time.

Those are the steps to running a test with test groups.

Other information you might find useful:

In test groups, some things work differently from usual, to keep mailings matching each other. Again, editing one Mailing's targeting changes targeting for the other mailings in the group, too. Test mailings' targets also won't overlap each other regardless of whether you use auto excludes, and will go to similar groups even if you use a non-random ordering like ZIP Code.

If a test Mailing stops early because of an error or is killed, you can reload it, and the reloaded mailing will assume the original mailing's test group targeting. Things work a little differently in this mode: you can't add or remove drafts from the test, and changes to the reloaded mailing's targeting won't (of course) affect the other sending drafts.

Internally, ActionKit targets test-group mailings using the MySQL MOD operator. Each group uses an arbitrarily-picked prime number, and each mailing in the test gets a WHERE condition like WHERE user_id MOD [prime] MOD [number of drafts in test] = [number of this draft]. You can see a particular draft's WHERE condition in its targeting summary. It's usually simpler to do reporting using mailing IDs, but you can also use the MOD expression directly for analysis.

Email Wrappers

Email wrappers define the header and footer appearance and content for your mailings. You can also use them to create mailing templates to customize your mailing Compose screen.

The default wrapper doesn't include any appearance settings, but it does include a link to your default unsubscribe page. You can link to a different one, but you must link to one of your unsubscribe pages.

If you do not select an email wrapper for your mailing, then the mailing will be sent with a bare wrapper that has no appearance settings and a link to your default unsubscribe page.

You can create as many wrappers as you'd like. We've also provided some built-in examples of wrappers.

Click the Email Wrappers link on the Mailings Tab, to see a list of all your current wrappers, ordered alphabetically after the default wrappers (remember you may have a default for each Language).

Read more about creating new email wrappers.

Follow these steps to create a new wrapper:

1 On the Compose screen click the + sign to the right of Email wrapper. Or select Email Wrappers from the Mailings Tab and then click Add email wrapper.

2 Enter the wrapper name. This will be the name displayed in the Email wrapper dropdown.

3 In the Template box put your header HTML before the code snippet {% block content %}{% endblock content %} and your footer HTML after it. See Wrapper HTML for more information. If you want to use preview text in your mailings, your wrapper must support it. To add additional content fields to your mailing Compose screen, use custom mailing fields in the wrapper to create a mailing template in the wrapper.

4 Leave the Text template box blank unless you want to create your own text-only template. ActionKit automatically generates a text template from your HTML template. If a user has HTML disabled in their email program, the text version is what they see. If you want to insert a logo or change the line breaks or something for text-only users, you can do that here. Be sure to include: {% block content %}{% endblock content %} where you'd like the email body to show.

5 Enter the Unsubscribe text and Unsubscribe HTML in the next two boxes. The Unsubscribe text and Unsubscribe HTML boxes will show {% include "unsubscribe.txt" %} and {% include "unsubscribe.html" %}, respectively. These insert ActionKit's default unsubscribe language ("You can unsubscribe from this mailing list at any time.") and a link to the unsubscribe page you've set as the default. (See Unsubscribe Pages for more info.) If you want to use your own text or change the appearance or link to a different page you can make those changes in the HTML and text boxes. For example, you could enter "Click here to remove yourself from our mailing list."" and include a link to a specific unsubscribe page by entering the complete URL (such as, http://docs.actionkit.com/cms/unsubscribe/spanishunsub/ to link to a Spanish language unsubscribe page). See Creating unsubscribe links for more information.

6 Select the relevant Language from the dropdown list.

7 Select Is Default if you'd like this wrapper to be the default wrapper for the language chosen in step 6. The language default is pre-selected for confirmation emails when you create a page using the same language. See languages and multilingual campaigns.

8 Click Save to store your new wrapper.

Content

Manage Library

This is the same feature available through the related tools on the Pages tab. Click Manage Library to add or edit the existing uploaded files in the media library.

The library provides integrated storage through an Amazon S3 account you set up for media like images and videos. Follow the link to view a list of images, search, edit, or upload a new image.

The file name must only includes letters, numbers, and _ (no spaces or other characters). Upload your image and you’ll be given a url to use to access the image.

Toggle open the Options section while you're uploading an image to set the directory, change the filename or set the content-type. If your images don't seem to be displaying properly, check that the content type is correct.

Click the "Edit" link for an image to change the filename or directory after it has already been saved. Note that you may break links to the old URL so you will see a warning before you save.

If your library isn't working, confirm that the correct Amazon account information is entered on your Amazon S3 Config screen.

From Lines

From lines should follow this format: "Tanya Africa, ActionKit.com" <tanya@actionkit.com>. The name section should be quoted.

You can also use snippets in your standard and custom from lines to generate dynamic from lines that vary depending on the recipient for mailings, event emails, and transactional emails. These could be merge snippets, custom user and action fields, or any other data that is able to be evaluated as a snippet in your from line.

The final from line at send still needs to follow the same format as from lines without snippets; from lines that do not pass validation will kill the mailing and you will receive a notification that your proof or mailing has died.

Warning

You almost always want your main ActionKit domain on every mailing's From line. ISPs' spam filters treat new and unknown domains harshly, so splitting your mail traffic between domains has deliverability risks. Changing From domains has limited branding value anyway: the From name and subject are usually shown more prominently. We suggest changing From lines' name and, if you want, the email username:

  • "Tanya Africa, ActionKit.com" <tanya@actionkit.com>
  • "Tanya Africa, My Separately Branded Campaign" <separate.campaign@actionkit.com>

But we advise against per-campaign From domains like this:

  • "Tanya Africa, My Separately Branded Campaign" <tanya@separate-campaign.com>

So, by default, if you try to change the From domain, we'll replace it with your primary domain on the From line, and use your alternate domain in a Reply-To header instead. When we do this, you'll see a note under the From line field saying so.

If, despite the risks, you definitely want to use other From domains, contact us via support. We'll need to change your instance configuration, and you'll need to do some DNS setup for the new domain.

From the Mailings Tab, click From Lines in the sidebar on the right under Content to see your existing From Lines. From this screen you can add a new from line, edit or disable (by hiding) an existing from line, or re-enable (by showing) hidden from lines.

Domains

You can add domains that point to your ActionKit instance. When you add a domain, ActionKit includes tracking codes and user identifiers in links to the domain so you can track opens and clicks. If it's an ActionKit page hosted at the domain, you'll also be able to see actions coming from the mailing, as long as you've set up the page to capture this information.

Add a domain if you want to use ActionKit user ids on a site not hosted by ActionKit.

Email links in added domains are still overwritten with a link to your standard ActionKit URL. See Links for a description of how links are created.

Data

Mailing Lists

Use mailing lists to define groups of users. Only users who are on a list can be mailed through ActionKit.

Users generally join a mailing list by taking action on a page associated with the list. You can also import users to a mailing list. Users can unsubscribe from some or all of the mailing lists they belong to from any unsubscribe page.

If you don't select a list when you target a mailing, ActionKit will assume that you want to target all mailable users.

We suggest using lists to separate users you want to exclude from your main email stream to only mail for specific purposes or at specific intervals. For example, if some users signed up to receive a weekly e-newsletter and no other mail, you might make an e-newsletter list.

Note

Mailing list names are visible to users on unsubscribe pages.

Tags

Tags are words or phrases you can associate with a mailing. The tag list is the same for pages and mailings, but unlike with pages, when you associate a tag with a mailing no users are associated with the tag, whether or not they receive the mailing.

Tags are used to categorize your mailings. Tags are displayed on the Mailings Tab and the Browse all listing, and you can filter by Tag. For example, you can quickly view the list of all the Mailings you have created for a particular campaign.You could also write a custom report analyzing mailing performance by tag.

To edit, add, or hide a tag, see Working With Tags.

Custom Mailing Fields

As with custom page fields, you can use these fields to insert a section of content or code in your Mailing or Email wrapper, or to create a mailing template.

After you've created the custom Mailing Field, add the field to the body of your Mailing using this syntax: {{ custom_fields.FIELD_NAME }}. Or, if your custom Mailing Field contains template tags or filters that need to be interpreted, then use this syntax instead: {% include_tmpl custom_fields.FIELD_NAME %}.

Then in the custom field row toward the bottom of the screen, select the field name on the left and enter the value on the right.

To create the field, select Custom Mailing Fields on the Mailings tab and click Add Allowed Mailing Field. Enter the name and other settings for your mailing field and then save.

Note

Select Always show if you'd like the field to be displayed whenever you create a new mailing.

To add or edit the mailing field, go to the Compose screen of your draft mailing.

Be sure to view several proofs when you use custom mailing fields.

Mergefiles

Use Merge Files to insert user-specific information in your mailing from a CSV or TSV that you upload. For example, you may want to use highly localized goals based on users' cities: "We need 5 more volunteers in Oklahoma City today!", or to show users the best paper for an LTE based on their zip code.

The first column of the merge file is the key used to match targeted users to a row in the file. This is usually a geographic designation (like country, state or zip), but you can also match on the user source or unique identifier (user_id or email).

The other columns are the value or values you want to insert. Once you've selected a merge file on the Compose screen, you'll see a snippet for each column header if you click Snippets then Merge File in the Body section.

The Merge File Snippets use the prefix "merge" followed by the name of the column: {{ merge.column-name }}. As an example, if you uploaded the following merge file, the available snippets on the Compose screen are {{ merge.zip }} and {{ merge.paper }}.

If you upload a file with the columns "zip" and "paper":

zip, paper
10014, New York Post
19130, Philadelphia Inquirer
94965, Marin County Chronicle
60632, Chicago Tribune

You can click to insert the {{ merge.paper }} Snippet in the mailing, and the paper that matches the user's zip code will be included. The Merge File Snippets include requires_value so your mailing doesn't display a blank if a targeted recipient's zip code isn't in the file. That user is skipped. Read more under failed deliveries.

Alternatively, you can remove requires_value and use a conditional block ( {% if merge.paper %} ... {% endif %} ) or a default ( {{ merge.paper|default:"your local paper" }} ).

See Managing Merge Files for the full list of options for the first column and for details on creating and updating merge files.

Note that merge files will be deleted 30 days after last use. This applies to merge files that were last used in a mailing that was sent 30 days ago, or in a draft that was last updated 30 days ago. If a merge file is not connected to a mailing it will be deleted 30 days after upload.

Merge files require Amazon S3 to be configured.

Merge Files must be either a comma (.csv) or tab delimited (.tsv) file. For large files, you can compress them using Zip to speed uploading.

You can use any of the following fields for the column users are matched on:

  • id
  • email
  • city
  • state (the 2-letter abbreviation, e.g. "FL")
  • city, state (special case where we'll match on two columns because some city names are not unique (e.g. Springfield); if city and state are the first two columns in your merge file we'll automatically use both to make sure we get the correct value for each user)
  • region
  • postal
  • zip
  • country
  • source
  • us_district
  • us_state_senate
  • us_state_district
  • us_county, state (same behavior as city, state)
  • loc_code
  • country_code
  • region_code

(You can also match on prefix, first_name, middle_name, last_name, suffix, address1, address2 although they seem much less useful!)

Uploaded and processed merge files are listed in the dropdown for Merge File on the Compose screen. Until a merge file has completed uploading and processing successfully, it will not show on the list. The details of any problems that occurred during processing are available in the list of merge files.

To upload a merge file:

1 From the Mailings Tab, click Mergefiles in the sidebar on the right under Data. The list of existing merge files is displayed.

2 Click Add merge file.

3 Click Select file and choose the file to you want to upload from the file dialog. Then click Upload file to begin the upload.

4 When the upload is complete, the page will refresh and you'll be able to edit the name for your merge file. This is the name that will be displayed to the campaigner when creating or editing a mailing. Click Save to save your changes to the name.

Immediately after upload, you'll see a status of New Upload. Behind the scenes, your file is being checked and loaded into the database. You can reload the page to see the results of this processing, including the number of lines that were loaded and any errors encountered.

To update the data in a merge file, simply upload another CSV or TSV to the same merge file. You can add or remove columns. Be sure to upload the complete merge file; the previous data is completely discarded.

List Hygiene

Re-Engagement List

Mailing List hygiene refers to the practice of "cleaning" your Mailing List by removing inactive and undesirable email addresses, in order to improve your email deliverability for the remaining active and desirable addresses.

Email deliverability is increasingly based on sender reputation. ISPs are looking at the same kind of stats we do, like open and click rates, plus some additional information that they have that we don't. The more your users interact with your email the better your reputation, and the more your mailings reach your users' inboxes in a timely manner. Sender reputation attaches to the combination of your IP address and domain name.

Sending emails that are ignored costs you because ISPs use that in calculating your sender reputation.

And long-time inactive users aren't bringing you much benefit. One large client found that users who had last opened or clicked a mailing in the last year had a 31% open rate. Those who opened or clicked in the last 12 to 24 months had a 10% open rate. The open rate dropped to less than 1% past 24 months. We encourage you to analyze your own list because these rates may vary, but the trend has been consistent.

Also, long-time inactive emails are sometimes turned into spam traps by the various ISPs. Spam traps never open your emails, and sending to them always hurts your reputation.

List hygiene can improve your deliverability, increase total actions and may even decrease your monthly ActionKit bill.

You can take advantage of our Re-engagement Tool and Blackholing Email functionality to help manage your list hygiene.

Some list hygiene steps are automatically handled by ActionKit, like unsubscribing users whose email addresses bounce as undeliverable.

We also encourage you to establish a re-engagement process, where you:

  • Establish criteria to identify inactive users.
  • Add those users to a special re-engagement list.
  • Exclude that list from regular mailings.
  • Send those users a few hand-picked mailings to prompt them to open or click.
  • If they don’t re-engage, unsubscribe them.

ActionKit includes tools to help you automate this process.

To configure and enable ActionKit's re-engagement feature, click the Re-Engagement link under List Hygiene in the sidebar on the right on the Mailings Tab.

Read more about the available settings starting with defining engagement queries.

Blackholed Emails and Domains

You may want to prevent certain email addresses or domains from receiving bulk and transactional messages from ActionKit. You also might want to block messages to email addresses containing certain strings such as 'spam' or 'info@'. You can use ActionKit's blackhole functionality to accomplish this.

When an address, domain, or substring is added to our blackhole list, we will automatically suppress all bulk, transactional and tell-a-friend emails to matching email addresses. Notification messages and messages sent by ActionKit itself (for example, the "mailing complete" messages sent to ActionKit admins when a mailing finishes sending) are not suppressed.

When a message is blackholed, it is logged in the core_blackholedhistory table. Where possible, the row will contain a mailing_id or action_id associated with the suppressed message. A flag (matched_email/matched_domain/matched_pattern) will indicate which blackhole list the email address matched.

Subscribed users blocked by the blackhole feature will have subscription_status='blocked' in core_user. Mailing counts don't include users with subscription_status='blocked'. After changes to the domain or substring lists, it may take a little while (usually under 20 minutes) for subscription_statuses in the database to be updated. Users with subscription_status='blocked' still have their subscriptions listed in core_subscription and still count as subscribed for other purposes, such as reengagement and billing.

Recurring Mailings

Recurring mailings send mailings (with the same content) on a schedule, often daily, weekly, or monthly.

In ActionKit, you'll use them to:

  • Send mail when something is coming up, like if the credit card for a user's recurring donation is about to expire or an event they've signed up for is happening soon
  • Send mail after something happens, like if a user joined the list in the past week
  • Send other automated, always-identical messages, like weekly surveys to random users

Recurring Mailings in ActionKit replace 'triggers' in other systems. So, instead of setting up a trigger to email new subscribers 14 days after they sign up, in ActionKit you'd set up a Recurring Mailing targeted to people who signed up 14 days ago. You have to shift your thinking slightly to use recurring mailings if you're used to triggers, but you can generally do the same things with both.

There is one important limit to Recurring Mailings: each Mailing uses the same HTML for every send. So, you can't use a Recurring Mailing for a newsletter, or any other email that's regularly scheduled but has content specially written for each time it's sent.

Creating and writing content for a recurring draft is just like for a normal draft; the differences are mostly in targeting, sending, and maintaining the mailings once they're launched.

Read our Welcome Series FAQ for an example of one use for a Recurring Mailing.

When targeting your Mailing, be aware:

You should almost always prevent repeat sends using the built-in query from the library.

To do that, scroll down to Query library on the Excludes side of the targeting screen, then type 'recurring' to get our built-in query for excluding People who recently received a Recurring Mailing. If you want to exclude everyone who received any recurring Mailing in the last 24 hours, enter 1 for days and 0 for all recurring mailings. You can also enter the ID for a specific Mailing or a semicolon-separated list of them.

For some likely use cases, there are built-in queries we've added to your library:

  • Recurring donation queries - Use Donors whose cards expire next Month and Donors whose cards recently failed to target recurring donors whose credit cards are either about to expire or recently failed, to ask them to sign up again.
  • Welcome series queries - Use New-to-list users to find users who joined the list exactly n days ago.
  • Upcoming events - Use Hosts of upcoming events or Attendees of upcoming events to find hosts or attendees of scheduled events. (You can't yet use recurring mailings to target those near open upcoming events, because that involves more complicated targeting that we can't do with SQL alone.)
  • List slices for "random" weekly mailings - Use Weekly slice of list to mail a fraction of users each time, e.g., 1/52nd of your list every week, for something like a tracking survey that slowly goes out to everyone.

Warning

If you use library queries for targeting in a recurring mailing, be sure that you have them set to run every time. With caching, there can be slight variations in when the report runs. So if you cache the reports, depending on when the report runs and when the mailing gets sent, you may end up targeting the same users as the previous day, or missing users that should have been targeted.

You can write raw SQL to target your mailing using MySQL date functions like now() or curdate().

When you request counts, send proofs or use Preview the mailing, you'll get whoever would receive the message if it were sent today (or, if no one would be targeted today, you'll get an in-browser preview generated with test user data and no emailed proofs).

If that won't do, you can temporarily change your targeting so that some users are found, but of course double-check that you have re-set it to what you really want before launching the message.

Once you're satisfied your mailing is ready, go to the final screen and click the small make recurring link underneath the Send button.

Unless you want to replace a mailing on an existing schedule, click New Schedule to the right of the dropdown to open a popup. Enter a name, a time zone. You can uncheck the Notify Me When Mailings Finish, if you want to opt out of notifications that are sent by default after each send in a series is completed.

Review the list of send dates at right to make sure it will fire when (and only when) you intend; and click Save.

Finally, click Start recurring mailing, confirm everything on the haiku screen, and you'll see a confirmation message.

A scheduled email will appear in the drafts list. You'll see two icons next to the subject line: a clock indicating it's scheduled and an arrow indicating it's recurring. Click the mailing's title to get access to reports, or click Stop or Copy to stop or edit it. For more about maintaining your mailing now that it's launched, read on.

Manage Jobs

A job is created each time you create or rebuild a mailing’s target set. The Manage jobs button at the bottom of the related tools list shows a count of your active jobs. The count is refreshed every 15 seconds. If there are 3+ jobs running, you'll see a red exclamation point. Click the button and a list of jobs (also refreshed every 15 sec) pops in above the list of mailings. You can only kill all of the mailing count jobs at once because of the possible dependencies between mailings. The job list includes any re-engagement jobs you have running.

https://s3.amazonaws.com/clientcon/images/editor-2018-01-30-2.png