We wrote a blog a while back describing how you might design and build your own Salesforce Drip Campaign system (also known as a touch marketing campaign, email autoresponder, or automated email marketing). You can read that blog here.
Given the interest in that topic, we decided to just go ahead and write the application and make it available to our clients. Here is a link to our website where you can purchase that application if you are interested. I thought I would take this opportunity to explain the application, more of the technical side.
What is Drip Marketing?
In case this term is new to you, let me provide a quick explanation of what a drip marketing campaign is. The main idea behind drip marketing is a steady “drip” of scheduled prospect touches based on a start date. A “touch” might be an email, a call, a direct mailer, a visit – whatever you think might help the prospect take a step towards buying your product. It may also be referred to as a "Touch Campaign"or "Automated Email Marketing" or even "Auto Responder". Many terms have been applied to this concept, but the main idea is the same: send emails to your prospects automatically on a schedule. Since it is easy to do so, our application also includes, in the same process, the means to schedule tasks for your users.
Drip Marketing Methods
There are a few different ways that a Salesforce Administrator could provide their marketing team with the means of sending out emails or scheduling calls for their reps automatically based on a given start date. The least expensive approach is to use time based workflow rules which are already built into Salesforce.com. While this is possible, it is cumbersome and not very versatile. You end up having to create a lot of rules and if you want more than one "track" into which a given lead/contact is associated, it gets doubly complicated.
There are several third party applications available via the app exchange that have a built in capability to do drip marketing. The main downside of these is their complexity, the fact that they are not native to Salesforce.com, and their cost.
The Snapptraffic Drip Marketing Application
Which brings us to the idea of the custom application. We have written this application in various forms many times over the years. Sometimes it was geared toward an opportunity, sometimes it was used to create jobs that internal reps would do on behalf of their clients - but the main idea was the same: schedule the auto creation of tasks and the auto sending of email notifications.
If we were going to make an application more universally useful, then we figured it should be based on the Campaign object and be able to create emails and tasks for Salesforce Users against Leads and Contacts which they own.
To this end, we made a custom object called "Autostep" which has the Campaign object as its parent. This autostep object has two record types: Email and Task. It also has other fields relevant to their respective type. Relevant to both types is the "Day" field. This field is the day upon which the step will be executed, resulting in either the creation of a task or the sending of an email.
Salesforce Scheduled Batch Process
The Salesforce system utilized that makes the task or sends the email is scheduled batch apex. We have written a script of code that looks at all the active campaigns, determines if there is an autostep record associated with the campaign, then finds all leads and contacts that were made members of the given campaign. The day field of the autostep is used to find the member creation date, which is simply the date that the lead/contact was added to the campaign. The leads/contacts with that member creation date are the targets for that autostep. In the case of tasks, we also incorporated the means to provide a user with "work days", which means that the task is created a certain number of days before its due date to give the user time to accomplish the work.
Then based on the record type, the appropriate action is taken. If the autostep record type is email, then the system retrieves the email template noted on the autostep record, populates the merge fields for the target leads and contacts, then sends the emails. We also have the system create an activity history at that time. When the record type is task, the system creates the task, uses the subject line of the autostep to populate the subject of the task. Comments in the task come from the comment field of the autostep. Notification of the new task is made to the user if that is selected on the autostep record. These tasks are created as open tasks initially and when completed by the user are moved into history.
Power of this Method
Using this simple approach (autostep object and batch process), we can easily add and remove leads and contacts from any drip campaign by adding them as a member to the appropriate campaign. The system will automatically take care of the rest. You can use any automated or manual method to move your leads and contacts into and out of these campaigns. Web to Lead forms can be configured to do an auto association to a campaign, and once configured that way, can allow your leads to automatically be dropped into the drip campaign. Once a user makes contact and begins the sales conversation, a trigger could be written to automatically pull the lead from the campaign. This could also be done manually by the sales rep if desired.
It might be desirable, for example, to associate a lead on a certain "track" (Campaign) until someone is able to make contact with them, then upon initial contact, assign them to a different track. This method makes it simple to move your targets from track to track as their relationship with you changes.
Get the Application
If you would like this application, please contact us. Again, you can reach us here. We will install the application for you and even spend some time on the phone teaching you how to use it.