Release Email Archive: 2015


Hey ActionKitties! This is our last release of 2015 and we've got a very exciting holiday present in it -- A/B testing for pages (in beta). It's not as good as, say, an aggressive international agreement to reduce carbon emissions, but hopefully it can help us get there too!

Please tell us what you think. And have a wonderful holiday season. Don't forget: support is closed 12/24 - 12/25 and 12/31 - 1/1. Requests that come in on those days will be answered first thing the following Monday morning.

Page A/B testing (BETA): You can run head-to-head tests to compare performance on variations of a page, then select and direct additional traffic to the winner. Each test contains two or more variations, which override selected attributes of the page, like its title or sharing text. A variation can also leave the page unchanged, so you can compare the original version of the page against one or more alternates.

Most elements of a Page are available for testing, including on-page text options such as the Page title or Page intro, layout controls such as Templateset, and post-action follow-up choices such as Sharing title and Twitter message. You can test more than one element at once, e.g. Page titles and Sharing images. Users will randomly be assigned to all possible test combinations (1A 2A, 1A 2B, 1B 2A, 1B 2B).

To start a test, select Edit A/B Tests and click Add Test. Select the Pages to include in your test - you can run a test across multiple pages. Then select the element(s) you'd like to test and enter your variations. These variations will override the relevant entries for the Pages included. Include links to your page in mailings or on your website as you normally would. ActionKit will randomly assign users to a version of the Page based on your selections. You can monitor the results and select a winner at any time using the built-in dashboards.

Read more about it in the Page Tool section at

Please note: This feature is in beta. You don't need to tell us to start testing it but there are likely to be some bugs. Please report problems through the support tab.

Bug fixes and Miscellaneous

  • You can now filter OrderResource on import_id using the REST API. Thanks Schuyler at MoveOn for requesting.
  • We fixed a problem with auto-excludes that was triggered by including drafts created more than 60 days ago. Thanks CAT at CEL.
  • We've made improvements to target set building speed in the mailer.
  • Custom field text areas can be resized to any size and they should start big enough to include any existing content. Thanks Ezra & Danny at Everytown.
  • We fixed a bug that prevented un-checking the targeting by merge query box. Thanks Hilary at Alaska Wild.
  • We made the summary and URL fields longer on the Help form. Thanks Jase at DFA.
  • We added templateset to the display/filter options in the Pages query builder. Thanks Jon at 350.
  • We added a query builder section for Candidates.
  • We added more documentation, including the section below describing how to use a custom mailing field to customize the preview text for a mailing. You can find this in the Mailings section of the FAQ.

Gmail and many other email programs show a few word preview in users' inboxes in addition to the subject. Optimizing this can increase your rates. In the new year we'll be adding this to the standard workflow with an option to test variations, but for now you can set the preview text as outlined below.



Hey ActionKitties! This release is so cool. We're excited to see what you all do with the new stuff.

We hope to get one (possibly two) more releases out this year before mid-December. After that we'll hold everything except urgent hotfixes until after the year-end (and related fundraising). You may see a beta version of a/b testing for pages still this year. Early next year expect the beta version of one-click donations.

As usual, ActionKit support will be closed November 26th and 27th.

Custom Field Choices, Default And Validation

Custom user, page and mailing fields all have several new settings. You can now set a default value that will be pre-populated on admin forms. You can enter a list of choices for the user to pick from in the admin. And, a regular expression (regex) can be used to require that values match a pattern. For example, the regular expression [0-9]+ will only match unsigned integers.

Be careful when setting choices for fields that already have values in the database. If an existing entry doesn't conform, you'll see the value followed by "----- This is no longer a valid option." You can't save with the invalid option. You can exist the screen without saving and add the option back in, or change to one of the list choices.

Merge Queries: Insert Values From A SQL Query In A Mailing

Merge queries work in a similar way to merge files, but instead of uploading the data to add to your mailing, you write a query to pull data from the database and the results are joined to the users targeted by your mailing. This is useful for grabbing data that exists in the database but is not automatically put into the mailing context, like extended legislator and event data, or custom action fields submitted by the user in a previous action, or a suggested ask amount based on a calculation from existing donations.

The first column of the merge query is the key used to match targeted users to the query results. This can be a geographic designation (like country, state or zip), or a user source or unique identifier (user_id or email). The other columns in the query results are the value or values you want to insert. Once you've selected a merge query on the Compose screen, you'll see a snippet for each column name if you click Snippets then Merge Query in the Body section.

Merge Queries are just Query Reports that are tagged "merge". These reports must declare a name for every column using the AS SQL alias keyword. This is true even when the natural name of the column would be the name you want, e.g. SELECT AS id.The first column (or columns for city, state) returned by the query must be one that can be matched to users.

Include Charts In Emailed Dashboard Reports

Google charts should show up in the emailed version of a report as inline image attachments, with the exception of Table visualizations and very large charts. Dashboards that are tagged wawd_standard, or dashboards that use ActionKit's automatic chart creation shouldn't require any changes. To email other charts, place them within a div that has a class of google-chart. To avoid styling issues affecting email display, you can set the width and height of a chart using options. In CSS, have a style selector apply the style to just chart divs inside the reports page:

<style>body.reports div.some_chart { height: 200px, ... }</style>

Better International Currency Support In Query Builder

The Orders > Amount options now have pull-down menu to choose between original order value, current amount (which may have been modified if this is a recurring order), and total payments (which counts all of the payments associated with a recurring order). International currency displays can now use commas and rounding, just like US dollar amounts.

Number of Users (Subscribed/Created) Added To Pages Query Builder

Plus More Docs

Including an FAQ on integrating litmus and improved sidebar document search.


Hey ActionKitties! A couple new things coming to your instance late tonight or tomorrow morning, described below.

Donation Query Builder: Easier way to limit to successful donations only

Donations are complicated! Attempted donations can fail at various points for various reasons. The query builder provides options for viewing donation attempts and successful donations. In many cases, though, you just want to see donations that led to money in your account. For this, we added a category in the query builder for "payments", which we define as successful, greater than $0, donations. Payments include one-time donations and donations that are part of a recurring commitment. Imported donations are counted as payments.

We've added more payment-related options to the query builder, including a "Was Paid" option. As a display choice, it will return true/false (or yes/no or 1/0, depending on our selection) for each order in your results. Select this as a filter and only orders that are also payments (e.g. you got $) are considered in your results. You don't need to make any status selections under "Orders"; results are already limited to order statuses that mean success.

Whenever you want an analysis or list of successful donations, start by selecting "Was Paid" under Filters. Don't select this is you want to look at failed or $0 donations.

Notes that may be helpful on a couple other options:

  • Date and Time: You'll find this under Payments and Orders. The Payment date and time shows when the payment happened. The Order date and time shows when a successful order was created in ActionKit. For recurring donations, the order date shows when the user successfully set up their recurring profile. Each payment toward the profile is recorded as a transaction in ActionKit. Each payment's date and time will reflect the time of the payment toward the profile.
  • Amount: Payment amount is the amount received. This will be the same as the order amount for one-time donations, but it will be difference for some payments toward a recurring profile if the donor has changed their monthly amount.

You can combine selections from different categories, as always. For example, you select merchant account from the Orders section and date and amount from the Payments section.

Thanks 350 for the latest use case for this improvement!

Backup sync for recurring payments on Authorize.NET

This change adds a nightly process that will attempt to sync any payments made on recurring profiles in Authorize.NET from the previous day. Payments are currently synced using Authorize.NET's Silent Post feature, but some payments have been reported missing. This back up sync should catch those and is similar to the approach already used for Braintree and PayFlow Pro.

If you wish to enable this second backup method, you'll need to enable the 'Transaction Detail API':

Thanks to Everytown for reporting the problem!

Bug fixes & Miscellaneous

  • We fixed a bug so you can now enter a county, state in the county box on the mailer targeting screen. Thanks Faithful America!
  • There's a new user district snippet under Users in the mailer. It adds: { user.location.us_district|default:"your district" }}. Thanks CREDO for requesting!
  • We changed the options for custom fields so there is no longer a limit on the number of custom fields that will be displayed in a pull down.
  • We made some more UI improvements - fixing checkbox alignments, etc. - and documentation improvements.

Finally, a reminder that we recommend pages use actionkit.js at its original URL, rather than copying it or using modified versions. This ensures you get bug fixes and updates we make. We've added a reminder in the header to actionkit.js as well.

Some exciting things already in the hopper for the next release!


Hey ActionKitties! We've got another release for you this week (visible as usual in your instance tomorrow morning). We've got a bunch more manual updates (thanks to anyone who reported a broken link), some query builder improvements and a change to our AKID system (which is mainly only of interest to the programmers on this list).

Query builder improvements

You can now find users who have bounced, unsubscribed or marked a particular mailing as spam. Thanks to Robin at NARAL for requesting.

We also modified the click and action queries to exclude unsubs.

Bug fixes

We fixed an error with copying mailings via the new mailings API. Thanks Jin at CREDO!

We fixed a bug that kept you from editing an event if you'd created it using the one-off event functionality. Thanks Caitlin at Progress Now!

We changed the spamcheck log layout so you can see all the columns. Click on any row to see more details.

New AKID hash system

We’ve made a change that allows you to verify AKIDs on your own server. You might use this to recognize users in an external application you’ve built on your server. You can also now apply AKID-style hashing to your own data. We’ve made a change to how our hashes as generated to support this but the hashes your users have already, like those in links in ActionKit mailings, will still work. See for more info.

Have fun!


Hey ActionKitties! The big new feature arriving in your instance tomorrow is the beta version of the Mailer API. We're excited to see what you do with it!

We'll also be looking for input on improvements to the Page creation UI. Expect an email about this soon.

Mailer API (beta)

The Mailer API provides tools for creating, targeting, proofing and sending mailings. Use the API to create a mailing with one or more subjects, change targeting, notes, reply to, etc. for an existing mailing, stop a mailing, check status or progress, and more. Read more, including information about what the API does not currently include, at:

Be sure to report any problems you have and ideas for future improvements.

Immediate delivery override

We've added a checkbox that allows you to override the immediate delivery limit for signature delivery.

The limit is a safeguard designed to protect your email reputation. Your advocacy target can mark these emails as spam. If the target receives a lot of these emails, most ISPs will agree. There is no standard definition of "a lot". This can lead to your organization's email being blocked or your organization blacklisted. If you override the limit and are placed on a blacklist, ActionKit will not treat this as an emergency (e.g. standard support hours apply), additional costs may be incurred to resolve the issue, and your organization may not be able to use immediate delivery in the future.

We encourage you to use the override when your emails are directed to an address designed to receive public comment or when you've confirmed that your target is ready to accept a high volume.

You will need to acknowledge your understanding of the risks involved for each page on which you want to override the limit.

To override the limits, select "Don't remind me to switch to batch" and the warnings you must acknowledge will display.

Reports Improvements

  • Tags are now visible below the report name on the Reports Tab and Browse All screens.
  • We've added query builders fields for page and list notes, as well as event description, notes, directions, and note to attendee.

Signature Delivery Improvements

  • We made some changes to avoid deadlocks when a page is re-targeted and a petition delivery job is started before signatures have been redistributed.
  • We made some additional changes to ensure that a target gets the most recent PDF/CSV if it's been rebuilt since the link was sent and that a target can still access a file even with an old link, if there is a file available.


  • We made an improvements to the duplicate donation check so if the first attempt is "pending" an immediate second attempt will fail.
  • We added a fix to fall back to a generic name for a file with foreign characters where that causes problems.
  • More screens have documentation available in the sidebar.


Hey ActionKitties! We've got a bunch of little things and a documentation improvement we hope you'll find useful. You'll see these changes in your instance tomorrow morning. We're getting closer to releasing beta versions of one-click donations, A/B page and after action share testing, and a mailings API.

Hidden Feature: Customize the data displayed on your Home, Pages and Mailings Tabs

There's a dashboard report that sets the display for each of these screens. Use these to customize the results shown. For example, edit the One-line Mailing stats report if you'd like to show more than just opened and clicked percentages for all of your sent Mailings. The reports are listed here:

We're still looking for groups to beta test a new recurring retry system for Braintree

Description from last release: As those of you who use Braintree as your merchant vendor probably know, missed payments toward a recurring profile accrue in Braintree. This can lead to a nasty surprise for some of your most valuable donors if their payments fail for a few months and then succeed (for a total that includes the missed months). You can currently change your settings in Braintree so all retries are completed before the 2nd payment comes due. With this new feature, you'll instead be able to set a retry schedule and max number of attempts within ActionKit. We'll only bill the donor for their monthly commitment, not for an accrued total. Please let me know if you're interested in testing this feature.

Release Notes

Inline documentation

You'll see an orange question mark on some screens in the admin interface. Click to access documentation specific to the screen you're working on. So far, we've added this for many Page-related screens and for the list hygiene and re-engagement feature in the Mailer. More sections coming soon. Please let us know what you think.

Query builder & reports

  • Improved documentation to include visuals and more detail about a lot of the functionality. Like a "hidden features" overview for the whole query builder! Find it here:
  • Sharing stats totals are now accessible from the Pages query builder.
  • Query builder can now get mailing click performance for specific URLs.
  • We added a source column to share_link table. When creating share links, if a source is provided, it's stuffed into that table rather than exposed in the share link URL. When processing clicks and actions, if no source is included in the URL, but one is associated with the share_link, that will be used. Thanks to Aaron at DFA for the suggestion.
  • We renamed built-in reports that mistakenly used hyphens to use underscores instead.

Staff users list

We've taken a different approach to set the staff list screen to display only active staff users. The status filter options are now "Active staff" and "Not active staff". The former is selected by default. The latter will show all staff users who are not designated as active and all those who are not designated as staff. You can see which users are which in the relevant columns.

Right to left language button added to WYSIWYG


  • Sharing customization options no longer show on the after action screen for Unsubscribe Pages.
  • We've added a "models can't be sent" message on the Proof and send screen for Mailings.


Hey ActionKitties! We have got an exciting release for you, hitting your instance late tonight, including rollout of the list hygiene/re-engagement functionality previewed at ClientCon.

But first, we're looking for groups to beta test a new recurring retry system for Braintree. As those of you who use Braintree as your merchant vendor probably know, missed payments toward a recurring profile accrue in Braintree. This can lead to a nasty surprise for some of your most valuable donors if their payments fail for a few months and then succeed (for a total that includes the missed months). You can currently change your settings in Braintree so all retries are completed before the 2nd payment comes due. With this new feature, you'll instead be able to set a retry schedule and max number of attempts within ActionKit. We'll only bill the donor for their monthly commitment, not for an accrued total. Please let me know if you're interested in testing this feature.

Release notes

Automated list hygiene and re-engagement

We've been encouraging clients to develop and implement a process for identifying inactive members, trying to re-engage them through a series of targeted emails, and unsubscribing those who don't respond. This will improve your sender reputation and increase email deliverability by removing spam traps from your list and increasing the percentage of email recipients who open click or take action from your emails. This may also mean that you pay us less!

We've added functionality so you can automate this process. On the Mailings tab, under Data, you'll see a new option "Re-Engagement List". Follow this link to turn on and provide settings for your own re-engagement process. Anyone can see the settings, but only super users can make changes.

The first step is to create a set of queries defining active members. Everyone else is targeted for your re-engagement outreach. We've provided sample queries that you can customize and you can create your own.

Next you create a re-engagement mailing list and prompt migration of all mailable users who don't need the active member criteria. You can tell ActionKit to automatically migrate users each day, or you can prompt the migration manually. You can also automatically exclude the re-engagement list from all new mailings.

Finally, start sending specific mailings to your re-engagement list. These will generally be people who haven't responded to your standard email stream so you may want to try different messaging designed at minimum to get an open or click.

You may also want to test to see how many it's worth sending. We recommend starting with a three or four mailing series, then unsubscribing those who don't move back into the active category. You can also automate the unsubscribes, or do that manually.

Anyone on the re-engagement list who does something that qualifies them as an active member per your criteria is moved off the re-engagement list each time you prompt a migration. If you don't automate list migration, remember that you need to manually prompt a migration before each re-engagement mailing.

There are several built-in reports to help you monitor subscription status changes and the impact of your re-engagement program.


Default excludes available for mailer targeting

On the CONFIG screen, you'll see new options for selecting a list or specific queries to exclude by default when a new mailing is created in your instance. You can remove these from the Exclude column on the Targeting screen for any mailing. You'll see a warning on the Proof and Send screen if you remove the default excludes.


  • You can submit the help form using cmd-enter.
  • There's a new description field for custom fields. Next up for page fields: exposing the descriptions when you're creating a page.
  • We fixed a problem that some users were experiencing with two factor authorization by text message where you would get (many) texts without intentionally requesting them (sorry about that).


Hey ActionKitties! This week's release is in honor of everyone who did a design session in Phoenix with Ben & Linda. We learned so much! And we've implemented a bunch of the easier suggestions. The harder ones will take a bit longer.

More manageable staff list

Click "Add/Remove Staff" on the Users Tab and you'll see a shorter list that excludes all inactive staff users. You can still view them by changing the By Active filter in the sidebar to "All" or "No", but the screen now defaults to showing only staff who are active. Also we removed the "Staff" column from the display. This was a quick fix that equates to hiding old, inactive staff members (sorry, you still have to do this by clicking into the record).

On the backend we set "is_active" to "no" for any of your staff users who had "is_staff" set to "no" (since they couldn't log in anyway) and we removed the "Staff" checkbox on the staff user record. Anyone who is active is now also staff.

Customizable list of reports on the Report tab

A previously little known feature already allowed you to add query reports to the Reports Tab and the Reports section on the Home Tab by tagging them with the "homepage" tag. Previously all dashboard reports were also shown in these two locations. Now you also have to tag the dashboard reports you'd like listed, so you determine which reports of either type show up in these two locations. This is currently true per instance, not per user.

We heard a lot of other great ideas for making the Reports Tab more useful. We're looking at implementing some of these as well.

Mailings Tab and Browse All improvements

Recurring mailings that were not sent to anyone no longer show in the Sent section on the Mailings Tab and they're filtered out by default on the Browse All screen.

You can use the new "Mailing Type" filters in the sidebar to include these on the Browse All screen if you'd like by selecting "All with empty recurring". You can also exclude all recurring mailings by filtering on "Single".

Responsive Admin

The fonts on the dashboards get larger once the screen size is small for easier mobile reading. The login screen should no longer look wacky on mobile. And we only show the two most commonly used options on the Mailings Tab on small screens.


We added documentation on filtering and ordering to the RESTful API docs and clarified the Donation Push documentation.

First round of inline documentation (as previewed at ClientCon) coming soon!


  • We added a gear next to your name in the upper right corner of the admin interface to indicate that you can access various settings here.
  • We sped up the previously painfully slow form that you use to build a custom legislative target group.
  • We fixed a bug where copying a petition page with the immediate delivery override enabled would turn on the override for the copy as well.
  • On the pages dashboard, the Import page type is now included in the Add Page and Pages by Type lists.
  • We added a link to create a model mailing from the mailings dashboard. You can also create a model from any mailing by selecting "Is Model" on the Compose screen.
  • We got rid of white space on the Pages and Mailings Tabs so you can see more without scrolling.
  • The Mailing creation screen names are now "Compose", "Target" and "Proof and Send".
  • We got rid of the little numbers at top of columns on various screens (like the staff user list). These were showing sort order but that wasn't very obvious! The sort order is still maintained (so if you click Last name, the list is sorted by Last name; then click First name and the list is sorted by Last name, then First name).
  • On the Mailing target screen, we've added "User ID" as the default in the Order By box. This is already the default functionality -- we just made it explicit.
  • Also on the Mailing target screen, the text boxes for various criteria (like Raw Queries and Users) are now bigger.
  • We added a "reset" link to the search boxes on the Pages, Mailings and Reports tab. This just clears out whatever you had entered previously so you can start a completely new search.


Hey ActionKitties! Great seeing so many of you in Phoenix! We've got a few new things that you'll see in your instance late tonight.

Braintree recurring donations

We will pull in updated card numbers and expiry dates if they are available in Braintree, and use them to update the order and recurring order.

Query builder and report improvements

  • We've added "is spam?" to the display and filter sections of the Action Querybuilder, so, if you've enabled spam checking, you can generate related reports.
  • We've made some changes to report parameter naming, which should improve readability.

    In the past, we've allowed parameter names that contain spaces (or punctuation) for readability, but they cause trouble for more complex reports that use template tags.

    The "enter parameter values to run your report" screen now replaces underscores in parameter names when prompting users for values, so you can put parameters like {{ Enter_domain_name }} in your SQL and the user will see "Enter domain name:".

The query builder now replaces spaces and punctuation in the parameter names it generates with underscores. Existing query reports won't be affected by this change, but the next time you edit them, their SQL will be re-generated and they will pick up the new naming convention.

The query builder also now lets you provide your own parameter names by entering a curly-bracketed expression. For example, if you add a filter on email address and leave the search field blank, your query will contain " = {{ Match_for_Email_Address }}". You can override this by entering "{{ email }}" in the search field. (Unfortunately this doesn't work with fields that have specialized input mechanics, like numeric or type-to-select-a-record fields, where you're stuck with the default parameter names if you leave them blank.)

  • We've added support for HTML in the report parameter help text.


  • If you're using the new after action sharing, you can now edit the default text instead of just replacing it.
  • We now group the options on the CONFIG screen by category.
  • We fixed a couple of bugs in petition delivery, including a problem with the date range setting.
  • We've done some more work to speed up targeting by tag in the mailer.
  • Long one-line comments using the comment syntax {# foo #} are no longer at risk of showing up in a mailing's body text.


Hey ActionKitties! We've got a lot of bug fixes and a few new features coming to your instance late tonight. We hope you enjoy them as well as the holiday weekend festivities (perhaps a glass of Benevento's bright yellow Strega Liqueur if you're celebrating the peace treaty or the more traditional BBQ and 4th of July parade).

We're looking forward to seeing many of you in 2 weeks. Expect an email from me soon if you're attending with logistics, a draft agenda, and some questions.

Javascript debugger (aka AK Linter)

?akdebug=1: We're experimenting with making actionkit.js check for certain common mistakes on your page. If you append "?akdebug=1" to the URL for one of your pages, we'll look for 1) fields with unexpected names that might not be saved when the user submits, 2) errors from JavaScript that we think may affect ActionKit, and 3) use of jQuery 2. You should see either "No warnings" or "# warnings" in the bottom right corner of the page, and you can hover for details. If it doesn't run at all, you may be using the older /samples/actionkit.js (instead of the newer /resources/actionkit.js) or some errors might keep the checks from running at all. We may eventually turn this on by default for all staff users, so let us know if it's helpful, if you get false alarms, or if you have ideas for other checks that might be easy to add with a little JavaScript!

Query builder

  • We made it easier to find! Now when you click "Add a query" on the Reports tab, a list including the available Querybuilder types opens up beneath it. Click one to create a new query report with the type preselected; you can change the type up until the 1st time you save the report.
  • We changed the queries used to generate performance reports in the Mailings query builder so the results will match those seen on the individual mailing report. We now use the subscription history table to count bounces and spam reports rather than looking at the core_bounce and core_unsub_email table which are for internal use only and aren't always completely inclusive. Also, we don't include unsubscribe clicks or unsubscribe actions in the click and action counts.
  • The time zone correction wasn't applying to 'between dates' criteria on query builder count fields. Thanks to NARAL for reporting this issue.
  • Added core_usermailing.user_id to list of displays and filters for mailings query builder. Thanks to Caring Across Generations.

Recurring mailings

  • Add a column for "live recurring mailing" on the Recurring Mailing schedule lists screen.
  • Hiding a recurring mailing schedule that is associated with a live recurring mailing will stop the recurring mailing.

Multiple secure host names

Better support for multiple secure hostnames. Previously, you could have a single default SSL/TLS hostname, which users would be redirected to if they hit a page that required SSL/TLS on a non-SSL/TLS page, even if the hostname they were using actually had SSL/TLS support as well. Now, we'll redirect to the same hostname, if it has SSL/TLS support. This requires some configuration changes for support, so let us know if you'd like us to enable this for your account.

Bug fixes & Misc

  • Make REST API correctly handle multiple values for the same key in www-form-encoded data. Thanks to PCCC.
  • Accommodate the new PayPal confirmation screen format, so the donation amount is properly displayed. Thanks to AllOut for reporting.
  • Enable visual editor mode for event admin's event attendee tools 'Tool page links' form.
  • When filtering HTML through make_urls_absolute, don't adjust URLs that begin with mailto:. Thanks to ONE for reporting.
  • Make the mailing custom field value text boxes on the compose screen wider. Thanks DFA.
  • Limiting petition delivery by date range was broken and is now fixed. Thanks to MomsRising.
  • Fixed a bug that could cause the sharing customization feature to incorrectly report that a page did not support share link tracking and Twitter message customization, despite having an updated template. Thanks to 350.


Hey ActionKitties!

The entire Walker team is alive and well after WalkerCon 2015 — the Hackathon and zombie escape weekend. You'll see some fun new things from our hacking in the coming weeks including a way to generate a merge file for a mailing from a SQL query, some queries and automation options for list hygiene, inline support, and more. Also one-click donations are close to being ready to beta.

For now, watch your instance for the changes described below, which will be released later this evening.

Mark page as a model

You can now mark a page as a model, as you can a mailing, and use it as the basis for future pages of the same type. You can use this, for example, if you have standard text you include in the confirmation email or the tell-a-friend message for petition pages, or to save your most commonly used donation page settings. When you copy a model, all the settings remain the same, except the copy is not marked as a model.

Designate your model pages by checking the new "Is model" box on the action basic screen under more options. See a list of your model pages by clicking on the light gray Models link at the top of the page list on your Pages tab or by filtering on the "Browse all" pages list.

Model pages do not work differently than other pages. Users can still submit on a model page, if you make the URL public.

Bug fixes and other

  • Thanks to Mercy Corps for pointing out a problem with inconsistent display of the mailing list options for import pages with the subscription option set to "Don't change".
  • The first name snippet now includes the title template tag, which means the name is capitalized (even if it isn't in your database). Thanks to Alaska Wild for requesting.
  • Mergefiles are now accessible (and delete-able) through the REST API.
  • A report's 'help text' will respect and display line-breaks if you include them in the message, thanks to SumOfUs.
  • More manual updates, including spelling out so you can find information merchant vendor information using the search (sorry RepresentUs for the abbreviation).
  • The prepopulated short_name field for reports now uses underscores not hyphens, since query report names with hyphens don't work in dashboard reports with the syntax we use in most of our dashboards.
  • Your support tickets now include a (rather long) unique identifier so you can reference back to them. Thanks to DFA!
  • We reduced the length of the page title displayed on each user's action history screen to 60 characters to avoid breaking the display.
  • When breaking long words to allow line wrapping of report names in admin screens, we now use soft hyphens rather than inserting whitespace. Thanks to StoryofStuff for suggesting (thought appreciated even though we had actually just done it)!


Hey ActionKitties! Here's what you'll see tomorrow morning in your instance:

Recurring donation snippets are no longer limited to active profiles; additional options

There's a new Recurring Donations snippet section in the Mailer. With this release, none of the recurring snippets are limited to active profiles. These changes are meant to make it possible to send recurring mailings to failed or expired recurring donors which include information about their failed recurring donations. You can still limit your mailing to users with an active recurring profile only on the targeting screen to return the same results as previously.

There are three categories of recurring donation snippets: Single currency: These snippets only return information for each user's most recent profile and only in the currency associated with the landing page you select. The mailing will fail for donors whose most recent profile is in a different currency. You can see information about any failed mailings on the individual mailing report as always. Any currency: This snippet returns all available information for each user's most recent profile regardless of the currency. You do not need to select a landing page with these snippets. The results include options for displaying the currency symbol with the amount. All profiles:These snippets loop through all profiles associated with a user in any currency. You do not need to select a landing page with these snippets.

New email performance dashboard report

The Rolling 12 Month Email Performance Rates, reports on open, click, action, unsubscribe, complaint, and bounce rates for a rolling 12 month period, grouped by month. The results are shown as line charts. Groups with high email volumes may find that this report takes 30 minutes or so to run.

New Legislative Director database source

We're trying Congress Plus for this information. They have a higher percentage of offices covered. As previously, we'll only update the contact in your database for each federal legislative district if the information from the vendor has changed since the last update -- so if you've replaced a contact we won't overwrite your replacement unless the vendor has newer information.


  • We now repopulate the short name based on the title for import pages as we do with other page types.
  • We reduced the allowed page title characters on the action history screen for an individual user to 60.
  • We upgraded to Django 1.6.11.
  • We made more of the admin responsive.
  • Lots of manual updates.


Hey ActionKitties! This week's release has something for everyone. Check your instance tomorrow to see what's new (or read below).

We've also got some exciting projects in the works. We hope to either release a version of these in beta beforehand or offer a sneak peek at ClientCon: one-click donations, after action share a/b testing, mailings API, and "model" pages. Looking forward to seeing many of you in Phoenix!

After-action share rollout

Thanks to everyone who updated templates and tested the new sharing functionality! This new functionality gives you the ability to customize the twitter and Facebook messages associated with your page and to track shares and the resulting actions.

With this release, we'll be patching the changes to your thanks and wrapper templates, if these templates are similar to those in the Original templateset. We won't attempt to patch templatesets that have been heavily modified or that are based on an old version of the Original templateset. We don't want to break any of your pages!

The Sharing section on the After-action info screen will tell you what share functionality is supported by the templateset selected for any page. Changes in the thanks template are required for Facebook share tracking and for Twitter share tracking and customization. Changes in the wrapper template are required for Facebook message customization. The documents specify the relevant changes so you can modify your templates yourself to enable all of the sharing functionality. Read more at

At the suggestion of DFA, we've added a section to the CONFIG screen where you can set a default Facebook share image, which will be used instead of other images on the page, if any. You can override this choice for any page in the Sharing section.

Tag optimization

We've added a new table called core_user_page_tags which includes columns for user_id and tag_id. The Mailer will use this table to target mailings based on tags, making tag-based targeting much faster.

With this release, we'll begin building this table from your action history, using the tags you've currently assigned to any page. Building this table may take some days, depending on the volume of historical data involved. Until the table is built for your instance, the mailer will continue to use the current approach to targeting by tag.

In future, when a user takes action or a Page's tags are changed, the table will be updated. Generally, new actions will be added to the table immediately, while changing the tags associated with an existing page will not be immediate.

Responsive admin UI

We've begun work on making the admin UI responsive, so you'll be able to do your work anywhere, anytime you've got Internet connection! Some of the changes for mailing and page creation are in this release. More to come in future!

Spam checking

We've made some changes to make the system for monitoring for and unsubscribing spammers easier to use and understand, including providing more detail about why a particular action failed a spam check.


  • Updating a user's country: You can now update a user's country through the Uploader from a CSV with columns for "country" and email or AKID without any other address data.
  • Selecting users or actions for your page goal: There's a new option in the Goal Type drop-down for unique action takers in addition to total actions and money raised.
  • Table directory updated!


Hey ActionKitties! We've got a small release coming out tomorrow. Thanks to everyone who has started testing the new sharing functionality. We're hoping to patch this to most existing templatesets in our next release.

Notes fields added to Pages and Mailing Lists

Thanks to DFA and Everytown for requesting. These notes fields provide another naming option for these data objects, like the notes field for mailings. The notes and the name are displayed in the lists (of all pages and all mailing lists), on the mailer targeting screen and for pages, in the query builder.

More PayPal improvements

For one-time payments with no shippable product associated we suppress display of the shipping address in the PayPal interface. PayPal has not enabled this option for recurring donations so the shipping address still shows in that case.


  • We now pre-populate the short-name based on the title for event campaigns, as we do for pages and reports.
  • Steps show again for Whipcount page creation.
  • We fixed broken document links in several places in the admin.


Hey ActionKitties! We've got a juicy new feature (in beta) for you this week. In a change from our standard, this release is going out late tonight so you may see these changes in your instance if you're working the night shift.

After Action Sharing BETA

The Original thanks page template includes social sharing buttons that encourage users to tell their friends about the action they've just taken. These "Post to Facebook" and "Share on Twitter" buttons send users to the social networks' built-in sharing functions, passing along information about your page. If your templateset includes certain required tags, you can customize the sharing messages associated with your page and view reports of sharing-related traffic.

You'll see a new Sharing section on the After Action Info screen. This section currently tells you that the feature is in beta and that you have to make a few template changes if you want to try it. You can read more about the feature at, including a description of the changes requires to enable it. Or you can create a page using the Original templateset and see how it works.

We expect to patch the new feature to existing templatesets (if they're based on one of our recent versions of the Original templateset) in a future release. Please try it out and let us know what you think!

Also coming in a future release -- head to head testing for sharing.


Thanks to everyone who has tried out the new PayPal integration. We've had some clients use each of the types of functionality and we've fixed the related bugs. We expect to officially take this out of beta in the next release.


Also this release you'll see more design improvements and some improvements to the spam filtering feature, including more detail about why actions were filtered in the filter log.


Hey ActionKitties! A new release will be hitting your instance tomorrow morning. For this release we've done some more work on the PayPal integration and the anti-spam filters, as well as ongoing improvements to the admin UI. We've also updated the documentation for the PayPal integration, the anti-spam feature and recurring donation processing,

PayPal integration beta

Thanks to everybody who has tested accepting one-time donations through PayPal. This is officially out of beta, so if you've been waiting, you can start using this now. You do need to get us some PayPal account information and make some changes to your templates to enable this. Find the details in the PayPal documentation. In the coming months we'll be adding a multi-step donation form and integrating PayPal into this layout since the user only needs to enter an amount to start a PayPal donation.

We found and fixed some problems with the recurring donation integration in this release, thanks to the Courage Campaign and Alaska Wild for their help with this testing.

We're still looking for other groups to help test recurring and multi-currency donations. The account information and template changes needed for these are also outlined in the documentation, here:

Anti-spam Action Filtering

We've made several improvements to the new comment spam filter feature added in the last release.

As a reminder, this feature helps you identify and unsubscribe spammers before they get on your list, preventing their eventual bouncing which can cause email reputation problems for you if you get hit by a large number. You can read more about it at

Starting with this release, we've changed to real-time filtering with a short time-out to avoid waiting too long on the Honeypot project or a bad regular expression. Filtering is always on, with a few conservative defaults configured. The filters only log actions that fail the filter unless you enable additional actions on your CONFIG screen.

There are two new options that allow you to control what happens when an action fails a filter:

  • Suppress Actions - marks the action filtered, and skips confirmation, tell a friend, and any signature delivery
  • Unsubscribe User - unsubscribes the user immediately

We recommend enabling both if you decide to use this feature.

Spell check

We've made it possible for you to enable your browser's native spell checking when using the WYSIWYG visual editor, at least for most major browsers. The keyboard shortcut, menubar command, or context menu option required to enable spell checking is different in each browser, but typically you can right-click (or control-click, or two-finger-click) on an editor panel to reveal the 'Spelling' or 'Spelling and Grammar' commands for it. Firefox users may have to begin by selecting 'Install Dictionary' to enable spellchecking the first time, if they have not already done so. This enables 'check spelling as you type' functionality in Mac Safari, Chrome and Firefox as well as possibly Windows for Chrome, Firefox and IE 10+.

Thanks to Color of Change for suggesting this enhancement.

Speeding up mailer target set builds

We're continuing to identify places where target set rebuilds may be slow, particularly for large lists. We've made some changes to minimize delays when cached library queries rebuild. We also added a core_user_page_tags table to speed up targeting by tag.

Mailing dashboard

The sent/sending mailings on the mailing dashboard so recently queued mailings will who up at the top of the list even though they don't yet have a started_at time.

Bug fixes

  • Zip and State fields are no longer blanked upon a donation failure.
  • We only show multiple currencies if the page allows international addresses.
  • We fixed a bug with petition delivery to Targets with Unicode names.
  • We fixed a bug on the Delivery Statistics page where the links to edit the contacts for each target were sometimes pointing to the wrong target.
  • We made a fix in the Query Builder for 'Number of Payments: One Time' and 'Numbr of Payments: Recurring'. Thanks to Conen at ProgressNow for pointing out the problem.


Hey ActionKitties! Tomorrow morning you'll see a new feature that helps you keep spammers off your mailing list, plus more work on the admin redesign and more.

We're still working away on one-click donations and improved after action share tracking and testing. Next week we'll also have an update on the PayPal beta.

Comment spam filters

Displaying comments or survey responses on an action page can attract spammers. Comment spam presents a real risk to your email reputation. Spammers submit from non-deliverable emails at real (and usually) large domains, for example and The emails will bounce the first time you send a mailing to them, but there is a potential reputation cost to trying to email a large number of bad addresses.

To help guard against this, we've added a new Filtering section to the Configuration screen (click the first link under your name at the top right of the header in the admin to reach this).

The filtering tools include four filters: IP, Content, Velocity and Honeypot. You must manually enable each filter on the Configuration screen.

If a comment is caught by a filter you've enabled, the user is unsubscribed and all their actions are marked as filtered. Confirmation, TAF and delivery emails are suppressed. If a user is caught by a filter and unsubscribed when they shouldn't be, you can resubscribe them and/or unfilter their actions from the user's record.

Filtering does not create blocks or bans on IPs or email address, because spammers rarely use the same email address or multiple times. You may manually add an IP to the IP Filtering Blacklist if you are sure it is a source of spam. We recommend relying on the Honeypot filter whenever possible, but occasionally adding a specific IP for a short period of time may be useful.

Filtering currently happens offline every few minutes, so you won't see the result immediately. In the next release we'll be adding real-time filtering.

You'll be able to read more about this new feature tomorrow at:


  • We'll autofill a suggested short name based on the title or name for pages and reports.
  • When you add a new mailing list, it is no longer automatically selected as your default list.
  • We corrected how the "Is Today" date-time field value was working for non-GMT time zones where the action was at the start or end of the day.


Hey ActionKitties! Tomorrow morning you will see an even lovelier (and hopefully more user friendly) ActionKit.

We're done with the next level of the admin redesign. We've styled most of the screens that you reach from one of the top tabs (Pages, Mailings, Users, etc.) to match the new look. Next up, we'll be moving out to the remaining screens and making things like help text and question marks consistent throughout.

What else you'll see in this release:

Time zone support

You can now use named time zones in query reports to adjust dates and times from the GMT format ActionKit uses internally to a time zone that makes sense for your organization, while respecting daylight-savings rules.

When writing query reports in SQL, you can use the convert_tz() function. For example, clients in California might want to display timestamps in their reports with convert_tz(core_action.created_at, 'GMT', 'US/Pacific'), while other clients might use 'US/Eastern', 'Europe/Amsterdam', and so forth.

When using the query builder, you'll see time zone options in two kinds of places:

  • Display and filtering of datetime fields, eg Users > User > Date and Time [Created/Updated].
  • Display and filtering of count and list fields that support timespans, eg Users > Actions > Number Of Actions, if you chose a timespan other than "On Any Date".

The query builder's time zone menu defaults to GMT, which doesn't require any conversion, or you can choose from a few common values that cover most of the US and Europe; from west to east, they are: US/Hawaii, US/Alaska, US/Pacific, US/Arizona, US/Mountain, US/Central, US/Eastern, Europe/London, Europe/Berlin, and Europe/Athens.

There's also an "Other" choice which reveals a field where you can enter any time zone name from the standard "tz" database described above. If you routinely use a time zone that is not included in the query builder menu, let us know and we'll add it to our list!

When using SQL's convert_tz() or the query builder's "Other" choice, you can select any of the time zone names in the industry-standard "tz" database, most of which are in region/city format, such as 'Canada/Newfoundland', 'Africa/Cairo', and 'Asia/Tokyo'. You can also use country names like "Egypt" or "Japan", although not every country is included, and sometimes the name is not what you might expect, eg Ireland is listed as "Eire". A list of standard time zone names is available here:

More user form customization improvements

  • User form templates that use {% for field in fields %} instead of the more modern {% for field in user_fields %} do not support the labels provided for custom action fields so the label fields are hidden if your page uses this type of templateset. The only way to customize the field label for custom action fields for this type of templateset is by providing a translation for field_action_foobar, replacing foobar with your action field name.
  • LTE pages always required a full address and phone number so those fields are marked as required and cannot be changed in the user form customization section.

More report improvements

  • We added support for recurring series to the mailings query builder. This shows up under display and filter in Mailings > Recurring Series, and in Users > Number Of Mailings In [Recurring Series]. The Mailings > Recurring Series display includes options to show the series ID, name, or recurring rules, like 'Weekly on Tue and Thu at 12:00 and 15:00 US/Eastern'. Also added support for Users > Number Of Mailings With These Tags for use by clients that categorize their mailings with tags.
  • We fixed a typo in the query builder that caused Users > Donations > Placed Recurring Orer > Active Recurring Orders to be interpreted as inactive instead. Thanks to Hilary at Alaska Wild for flagging!
  • Zip proximity available for query reports in the mailer.
  • Optimizations for mailing targeting page, including limiting to 250 recently mailings.
  • Improvements to the autoselection for the action downloader/
  • Delivery type displayed on the target page for custom targets, no longer in the target selection box.
  • On the individual short link screen you’ll see the full short URL so you can cut and paste it directly.
  • Fixes to PATCH, restart for Uploads in the REST API.


Hey ActionKitties! Coming to an instance near you tomorrow morning:

Uploads through the REST API

You can now POST to the REST API to send many actions for processing to ActionKit in a single request. The actions will be processed using the same code and rules as User Imports in the ActionKit admin. Your file must be a CSV or a TSV and the same rules apply for the header row and other formatting. Read more at

More query builder additions

We extended the Mailings query builder with two more user-specific display and filter choices: number of actions, and custom user fields. For example, the actions support can be used used to compare mailing performance between users who have taken a certain type of action versus those who haven't. Please note: we strongly advise you to limit mailing queries to specific users, mailings or time periods. Looking at rates over your entire mail history is likely to be extremely slow (best case) or never complete.

We added a new 'number of actions by this user' display and filter for actions. This allows you to display actions with the count of other actions taken by the same user, or to list all actions taken by users who had also taken some other kind of action. For example, 'how many petition signatures did we receive in January from people who had signed a petition last year' or 'how many actions were taken this month by users who had previously taken an action with tag X'.

Thanks to 350 for the examples!

More user form customization improvements

Thanks to DFA for helping us find places where the new customization option wasn’t working as expected. If the user_form template for a template set you’re using consists only of an include of the user_form template from another set, ActionKit will now check the source template to determine what will work with your selected set.

Mo Beta: PayPal

Thanks to everyone who has tried our PayPal integration for one-time donations. We’ve added support for recurring donations and other currencies through our PayPal integration. We’re looking for someone who wants to use these to do some initial testing with us. There is some additional set up required. Please let me know if you’re interested.


  • User searches with accented characters should be working and we fixed some remaining problems with UTF-8 URLs.
  • We fixed a problem that could cause your Mailings tab to time out if you had a LOT of old drafts and recalculating was triggered for many of them at once. You may have to reload to update counts in some cases.
  • You can send action.source through the Donation Push API.15


Hey ActionKitties! We've got another doozy for you this week. As usual, you'll see these changes in your instance tomorrow morning.

Coming soon: more admin interface redesign and adding support for recurring donations through PayPal. Also were starting on a couple projects that we know you'll all be excited about: one-click donations and better after action tracking & testing. No timeline – we're just starting on these and their big projects – but we are actively working on them.

Also we're hiring! We're looking for someone smart, detail oriented and technically proficient to test ActionKit so we can keep these releases coming out frequently. This person doesn't have to be a programmer, although that wouldn't hurt. To start, it's a 20 hour a week contract position. If you know anyone who might be a good fit, please share the job description:

Two factor authentication

This release adds "agent trust", which allows you to trust a (non-shared) computer or device for 30 days, so you don't have to re-enter your token every time you log in. (Google uses a similar approach with their two-factor auth.) If dual authorization is enabled, you'll see a new "remember me" option. You can revoke trust for a computer or device from the Configure Two-Factor screen, by clicking forget other devices.

We've also added a column to the staff list that shows whether each staff user has enabled dual authorization.

Mailer improvements

  • Mailing models: Many of you have created drafts that you are using as templates or models for future mailings. Now you can designate any mailing as a model using the checkbox on the compose screen. Models are displayed separately on the mailings dashboard. Models cannot be sent but they can be copied and the copy can be sent. Thanks to CREDO for pushing for something like this!

  • Mailing History

    There's now a History link in small text at the top of the "Compose", "Target", "Proof and Send" and "Mailing Report" views that will take you to the same kind of "Change History" screen you can get to for pages, etc.

    Along with the date/time and the current admin user name, messages in the change log can include any of the following:

    • Composed new draft. Changed subject, fromline and html.
    • Changed subject, notes, emailwrapper, fromline, reply_to, html, landing_page and tags. Changed custom fields my_custom_field.
    • Changed includes tags, has_donated, was_monthly_donor, lists, actions, languages, campaigns and campaign_radius. Changed excludes countries, states, cds, state_house_districts, target_groups, zips, counties, users and raw_sql. Changed sort_by, target_group_from_landing_page, limit and mails_per_second.
    • Added or removed query report.
    • Copied from mailing 123.
    • Added to test group 9.
    • Removed from test group 9.
    • Created for test group 9.
    • Requested updated count.
    • Queued for send.
    • Scheduled for send.
    • Cancelled scheduled send.
    • Made recurring.
    • Stopped because replaced by new recurring mailing 123.
    • Hidden.
    • Shown.

    As with the other change histories, we show which fields changed, but do not show the before/after values.

  • Custom mailing fields: We added the always show option for these fields and fixed a problem with the field order in some displays. We also added the status to the fields list screen for all custom fields.

  • Improved link creation: When redirecting to a non-client domain, the ak_proof argument is visible in the link but is not passed on to the URL. Also we fixed some problems related to the use of foreign characters in links. Thanks to AllOut for reporting!

  • Bug fixes: In rare cases, ActionKit would mistake the unsubscribe link in your wrapper for a standard link meaning unsubscribed clicks were being counted as action clicks. Now the click count will exclude anything with /unsubscribe/ in the link.

    We also fixed a problem that could cause recurring mailings to stop sending after certain kinds of errors. Thanks to Oceana for reporting!

Default language

We changed the way the default language setting works. From the CONFIG screen you can now set your default language to NULL by selecting the line of dashes. If you do this, by default, when you create a new page of any type the language is set to NULL, which means that a user's language setting won't be changed by action on this page. Please note, new users submitting on the page have their language set to NULL as well.

Previously selecting the line of dashes on the CONFIG screen was the same as setting your default to English, so we've reset your default English if you had previously made this selection. This maintains the previous behavior.

User form customization

We made a few improvements to the user form customization behavior. Thanks to those who gave input.

Now if you require a custom actionfield and set the page to recognize users once or always, users who have all other required values will be recognized and the actionfield will be displayed and required (below the "Not Tanya Africa? Click here.").

Also, if you require custom user field and the user already has a value for that field, the user will be recognized and the custom user field will not be displayed.

Also, we fixed a problem that meant some fields had to be deleted twice to be successfully removed.

Manage jobs

We've added an option to both the mailings tab and the reports tab that allows you to stop a job. A job is created each time you create or rebuild a mailing’s target set and each time you run a report. The new "manage jobs" button at the bottom of the related tools list shows a count of your active jobs for each tab. 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 or reports. For mailings, you can only kill all of the count jobs at once because of the possible dependencies between mailings. For reports, you'll see links allowing you to stop each report or all the reports that are running. ActionKit will send an email to the user whose jobs were killed.

Query builder

  • You can now restrict payment count, sum, or average to particular time periods when building a donation query report. Thanks to 350 requesting.
  • We extended support for custom SQL expressions to support joins, aggregates, and having.
  • Finally we got rid of some'&nbsp;' that were displaying in some of the drop downs. Thanks to ONE for spotting this first.

Miscellaneous and bug fixes

  • The list of pages used by a given template set are displayed in order by most recently updated.
  • We fixed some problems that resulted from having multiple staff users with the same email address, including one that stopped LTE proofs from being sent to the staff user.
  • We are continuing to move forward with deprecating transparently direct for Braintree clients. For new or copied pages only CSE merchant accounts are displayed.
  • We fixed a bug with Whipcount pages. These pages were requiring address information even though constituency is not used to determine which targets are displayed.
  • We made a small change to the event creation template to allow the maximum event size to be none.
  • We fixed a bug that was triggered when you ran a big report. If you clicked "download CSV" and entered an email address to mail the report to, the email would get blocked by SendGrid and you would not receive a message. Now we’ll send you a link to download the report if it's too large to be sent through SendGrid.


We improved some styles and updated some sections including the one on user form field customization.


Happy New Year ActionKitties! The world is off to a rough start for 2015, but we've got a big release that we hope will make the mechanics of working to fix it a tiny bit easier. Watch for these changes tomorrow morning in your instance.

User form field customization

As requested, we've made it possible to customize the user form on a page by page basis without mucking about in the templates. You can select which fields are visible and which are required, including custom user and action fields, and set field order through a new interface on the Edit Content screen.

You can take advantage of all of this functionality as long as you're using a modern template set. The layout for additional fields you use like action fields is set by your CSS. Be sure to check the appearance of your page if you use these options.

If you're using a template set with hard-coded fields in the user_form template, then nothing has changed except the location of the section where you set required fields. The fields included and their order will be defined by your template set, regardless of selections made in the new interface. You'll still be able to set existing fields to required, but you'll also still be able to break your form by setting fields that aren't in your template as required.

If you've used page fields to activate inclusion of user fields in your user form, be sure to let staff let know that this new feature does not interact with page fields. For example, if you include a user field for occupation using a page field, and add it using the new user form field customization section, the field will be shown twice. We hope the new customization section will help you reduce your use of page fields for this purpose!


Two Factor Authorization option for staff logins

We've added an optional additional security setting. If it's enabled, in addition to supplying username and password, logging into the admin requires you to prove that you are in possession of a device associated with your account (a phone or token generator). This improves security because a password -- which may be obtained or guessed by an attacker -- is no longer sufficient to access your account.

By default two factor authentication is available for all instances, but not required. Individual staff users can turn this setting on and set up their device on from the Users tab. Staff who have not set up devices for their accounts will still be able to log in with just username and password.

On request, WAWD can add a setting to your instance configuration that will require two factor authentication for all staff accounts in your admin. You can either generate a one-time password for each staff member manually or ask everyone to set themselves up for two factor authorization. Be sure you have a plan in place first (or nobody will be able to log in).

We'll be adding an option for approving a device, once it's been authorized, for a set period of time, so staff users with dual auth activated won't need to re-authorize every time they log in.

Read more at [].

Survey downloader is now an Action downloader

As many of you know, you can already use the survey download option on the Reports tab to download a list of all actions on a page. We've made that obvious by changing the name of the button to "Download actions". The CSV generated from the download screen still includes survey responses (if the page has associated survey questions). We've also added more options. You can now include the action source, mailing_id (where a mailing was the source) and custom user field values in your CSV.

Test group improvements

Thanks to groups who've tried out the new a/b mailing test feature! We made a few improvements based on your feedback. You now get a haiku before sending tests, and you can edit test settings from the same screen where you review and send proofs. We've also shortened the delay between clicking send on a test and the mailings going out.

Report Query Builder Additions

For the mailings query type, you can now get mailing stats broken down by subject and by user characteristics like domain name, country, or congressional district.

For the Users and Actions query types, there's a new option for domain under email address. This allows you to look at counts of users or actions by domain.

For events, you can generate reports that include a list of attendees (either all in one row or with a row for each attendee). You can choose which attendees to include and what information you want displayed for both hosts and attendees. For example you could generate a list showing the name, email and phone number for each attendee at an event or at each event in a given campaign.

We've expanded the autocomplete functionality so when you include a longer parameter in a report (e.g. {{ page_ids for "Number Of Actions On These Pages" }}), autocomplete available. Previously this was only available if the parameter was page_id or mailing_id.

You can change a SQL report to a query builder report, but note that this completely overwrites your SQL and starts over. Use the "[Enable Query Builder]" link on SQL-based reports and confirm that you really want to do this, then you can choose a query builder type and build a new query from scratch.

Format menu with choice of heading levels added to the visual editor toolbar

We've added a format menu to the WYSIWYG editor. To view this, you'll need to open the secondary formatting toolbar by clicking the rightmost toolbar button in the first row, near the "Visual" indicator. When the second toolbar appears, you'll see the format menu with choices for Paragraph, Heading 1, Heading 2, Heading 3, Heading 4, and Blockquote.

The size / color / etc of headings on your page are controlled by your CSS. Please note these are not accurately reflected in the admin UI, but are when you view the page.

Ongoing admin design improvements

We're continuing to make UI improvements to make the admin more visually appealing and easier to use, including some changes this release to the log-in screen and to remove overlap between long names and the filters on the staff user screen. We added custom fields to the mailing summary view that you see on the proof and send screen for drafts and on the mailing report for sent mailings.


We also have some bug fixes and minor improvements including:

  • manual updates
  • the "do you really want to leave this page" pop up no longer shows when you try to leave the mailer targeting screen unless you actually made a change
  • the warning does show now when you've been editing the body in code view in the mailer in Firefox and Chrome, if you try to leave without saving
  • unsubscribe thanks pages using original template set no longer show share buttons
  • currency symbols are displayed when you use the currency switcher
  • tooltips on subject line and mailing reports now report p-values the usual way (e.g., p<.01 and p<.05, not p>.99 or p>.95).