Easily Use Dada Mail with Google Analytics Campaign Tracking

Dada Mail v10.7.0 comes with new options in the Send a Message, and Send a Webpage screens, to help you easily create special query parameters that can then be understood by using Google Analytics. with them,  you can then keep track of visitors that originate from your mass mailings.

In this blog post, I’m going to assume you’re familiar with Google Analytics, and using its UTM query parameters to create custom campaigns. But, if you’re not, check out the  Google Analytics site, the docs on Custom Campaigns, the docs on Best Practices for Custom Campaigns, as well as Google’s own URL builder.

So, let’s get to it! We’ll need version 10.7.0 of Dada Mail to have this feature available, so if you haven’t already, install or upgrade to at least  v10.7.0.

First, log into your list control panel, and make sure you’re on the Send a Message screen. Find and click the tab labeled, Options.

Within that tab, click the tab labeled, Analytics:

This will reveal all the options for transforming the links in your message to work with Google Analytics and its Custom Campaigns:

Add UTM parameters to links with the following domains:

Check this option to enable the feature itself. When it’s disabled (which is the default), none of the links in your message will be touched.

Dada Mail can add the custom UTM parameters to every link in your message, or only to links that go to specific domains. If you leave the textbox underneath this option blank, all links will have custom UTM parameters added to them.

But, if you would like to only target specific domains, just list them in the textbox – separate each domain with a space:

In the example above, I’ve enabled adding the UTM parameters, and I’ve listed two domains to add them to, dadamailproject.com and, dadademo.com. Don’t list these domains with, “http://” or, “https://” – just the domain itself.

The rest of the options available are the actual UTM parameters you can set. There are five:

For a full description of what each of these for, see the docs I’ve linked above – start with this one which explains the custom parameters. For your convenience, we’ve set defaults for Campaign Source to the app’s name and Campaign Medium to email, so that right off the bat, any outgoing links you have you’ll know are coming from Pro Dada’s email messages!

Campaign Term is an interesting one, as we treat it a bit special than the others. You may set a default for ALL links in the textbox provided, but Dada Mail will also do its best to try to find the text associated with the actual link click.

For example, if in the source of your message, you have the following:

<a href="http://dadamailproject.com">Dada Mail Mailing List Manager</a>

Dada Mail will set the Campaign Term to, Dada Mail Mailing List Manager. Then, you’ll know that that specific link was clicked, and not the link you have with the same URL in it, that says:

<a href="http://dadamailproject.com">
    Download and Install Today!
</a>

This will report a Campaign Term of, Download and Install Today! You can then track which links work better in your mass mailings.

In fact, all these parameters can be overridden in two other different ways.

The first is to simply set the parameters yourself. If you use Google’s Campaign URL Builder for example, and use the URL it creates in your message, Dada Mail will observe those parameters, and will not override them. For example, let’s set the Campaign Term to, “Best Mailing List Manager” in the URL Builder:

Here’s the URL it created for me:

http://dadamailproject.com/?utm_source=Pro%20Dada&utm_medium=email&utm_term=Best%20Mailing%20List%20Manager

If I then use this URL like so:

<a href="http://dadamailproject.com/?utm_source=Pro%20Dada&utm_medium=email&utm_term=Best%20Mailing%20List%20Manager>
    Download and Install Today!
</a>

Dada Mail will keep the Campaign Term, Best Mailing List Manager instead of using the text that’s within your anchor tag, Download and Install Today!, or with whatever you set in the Campaign Term in the Analytics Tag. Options!

Finally, you may set any of the UTM parameters using attributes inside the anchor tag itself So, for example, to set the Campaign Term in an attribute, I would use the following attribute: data-utm_term:

<a href="http://dadamailproject.com" data-utm_term="Give+them+the+goods">
    Download and Install Today!
</a>

Now, the Campaign term will be set by Dada Mail to, Give them the goods instead of, Download and Install Today!

Here’s the order of precedence to all this:

  • Any query parameters found in the link itself have the highest precedence.
  • Next, are the dada-utm_* attributes in the anchor tag, itself
  • Then, (for Campaign Term), it’s the actual text found wrapped inside the anchor tag
  • Finally, the parameters you set within the Send a Message/Send a Webpage screen will be used.

And that’s the new support for created the custom UTM parameters to be used in conjunction with platforms like Google Analytics. Give it a try, and let us know how it’s working for you. We’re looking forward on building upon this start of the feature and to add improvements over time!

 


Dada Mail v9.5.0 Released

Dada Mail v9.5.0 has been released – download and install using the instructions here. Changelog is below:

Features

StopForumSpam Integration

The StopForumSpam service (http://stopforumspam.com/) keeps a database of email addresses, locations, and usernames known to be used for abuse attempts on web apps like forums, blogs, and mailing lists.

Dada Mail now supports looking up this information when a user goes through the subscription process. If the IP address or email address of the user is returned by the StopForumSpam service as being known to be abusive, the first step of the subscription process fails.

This new feature can help stop your mailing list from being abused, curbs the wasting of server resources, and keeps your mailing list cleaner. StopForumSpam integration should definitely be seen as a security enhancement, as these users being marked as abusive are possibly part of a botnet, trying to find vectors for attack.

This integration of StopForumSpam is currently enabled by default, and requires the LWP Perl CPAN library – if you can send a webpage using Dada Mail, you most likley have this library installed!

Options to enable/disable StopForumSpam integration can be found in the list control panel under Mailing List – Options. Look for the checkbox labeled, Enable StopForumSpam Protection.

If WWW::StopForumSpam needs to be installed, a notification will be shown below this option to alert you.

Viewing the Unconfirmed Subscribers sublist

Dada Mail keeps track of subscribers that have started the subscription process, but haven’t yet confirmed their subscription by clicking the confirmation link that’s sent to them via email. Internally, this sublist type is called, sub_confirm_list (catchy name, huh?). It’s used primarily to make sure the same address isn’t repeatedly submitted to be subscribed again and again by some automated process. Curbing abuse is a big part of web apps like Dada Mail!

We’ve now added the ability to view and interact with this sublist. In the, Membership – View screen, you will see a new tab labeled, Unconfirmed Subscribers. You may view, search, delete, and export addresses from this sublist. You may also resend the subscription confirmation email message: look for the button to the left of the email address. Pressing the button will resend the confirmation email message.

This sublist is tightly coupled with the subscription confirmation process itself. Dada Mail’s subscription confirmation system works with a unqiue token embedded in the confirmation email that corresponds with records in its database. These records do expire after a while (60 days by default). When these tokens expire, addresses in this sublist will also automatically be removed, keeping your mailing list tidy, and your database trimmed and fast, without any additional work by you.

Viewing this tab can be enabled/disabled in the list control panel under, Membership – Options. Look for the checkbox labeled, Show “Unconfirmed Subscribers” sublist.

New Subscriber Export Options

In previous versions, Dada Mail could export your Subscribers (as well as other sublists), but the data it exports is not customizable. It would include the added/subscribed date (timestamp), the email address itself, profile fields, as well as the delivery preferences (if that option is enabled). Some users have problems then utilizing this information as-is, since some of the information is not needed. Although this exported informaton is in CSV format, which you can open the exported file into a spreadsheet app, and do more manipulation, but many users were having trouble with this cumbersome extra step.

Now, Dada Mail also allows you to specify what data you would like exported:

  • Email Address (always exported)
  • Date Added
  • Profile Fields
  • Delivery Preferences (if enabled)

Among other things, this allows Dada Mail’s exported data to be easily read and imported back into Dada Mail itself – something it couldn’t do (embarrassingly) before!

Using this new functionality is simple: instead of exporting the data right away, after you click the Export button, a modal menu will open up, allowing you to choose what data you would like the exported data to hold.

Email Parsing Engine Advanced Tuning Options

Dada Mail now allows you to easily tune the underlying email parsing engine (called, MIME::Tools), so that you can either have a faster parser that’s more memory intensive (the default), or a somewhat slower parser that uses less memory.

We’ll be experimenting with the latter, as it should help with working with large, complex email messages with large attachments, as well as running Dada Mail as a long-running process.

More information on how to change these options are available at,

http://dadamailproject.com/d/install_dada_mail-advanced_configuration.pod.html#Configure-Email-Parsing-Engine


v9.4.0 Beta 1 is out – Rate Limiting!

Hello everyone, v9.4.0 Beta 1 is out.

Download and Install:

http://dadamailproject.com/support/documentation-9_4_0-beta1/install_dada_mail.pod.html

(Pro Dada versions are available)

This version has the new Rate Limiting feature built in. Seems to work really well! Now that it’s a part of the app, seems a little naked to run without it. Rate Limiting is currently enabled by default, and also has settings that can be customized in the installer. I’d love to get some more real-world feedback in seeing if the feature is working at all/as intended. I’m running it myself and seems to work well. It’s one of those, “Behind the scenes” features though, so nothing out of the ordinary seems to be different, unless something is terribly wrong!

Here’s what you need to know:

http://dadamailproject.com/support/documentation-9_4_0-beta1/install_dada_mail-advanced_configuration.pod.html#Rate-Limiting

Rate Limiting

When enabled, rate limiting keeps track of the requests of certain features in Dada Mail – features like trying to log into the list control panel, or subscribing to a mailing list. Dada Mail keeps track of these requests by IP Address and can be configured to have a maximum amount of requests per timeframe. If more than the maximum amount of requests are made within the timeframe, the rate limit is said to be exceeded, and further requests will be denied.

This feature is especially important in any feature that involves filling out a form, then having that feature send out an email, like a subscription confirmation. Potentially nefarious bots may be filling out your subscription form quite blindly, with various bogus email addresses, causing all this unneeded email to be sent, then bounced back. If you’re using a third party email sending service, like Amazon SES, this out of control behavior could potentially lead to problems with you not following their Terms of Service.

Although rate limiting in Dada Mail was first implemented for the above scenario, it’s used in many other places:

• Running the Cronjob Schedule

• Subscription by the classic subscription form

• Subscription via the RESTful API

• Subscription and Unsubscription Confirmation via the token URL (or any URL with a token in it)

• Logging in and out

• Encrypting a password

• Requesting to download a file attachment

• Profile activation/registering/resetting password/login and out

• Accessing the list control panel login screen

Enable Rate Limiting

Check this option to enable Rate Limiting. Enabled by default

Timeframe (in minutes):

Timeframe is the amount of time a number of requests for a certain feature/function can be made

Max Hits

Max Hits are the amount of requests for a certain feature/function that may be done in the Timeframe set above.

If more requests than the Max Hits happens within the Timeframe, the feature/function will be inaccessible, until the number of requests is below the Max Hits threshold. Any other feature mentioned will still be available to the user, and any other users of the app will not be affected (unless of course they’re being tied to that same IP Address)

Config Variable:

$RATE_LIMITING .

That’s it! Give it a try,