Installation and Updating
- Within the /system/expressionengine/third_party/ directory, copy the campaigns folder into your sites ./system/expressionengine/third_party/ directory.
- Within the /themes/third_party/ directory, copy the campaigns folder into your sites./themes/third_party/ directory.
- Go to the Modules area in the ExpressionEngine control panel, find Campaigns in the list, and click Install.
- Within your sites ./system/expressionengine/third_party/ directory, delete the campaigns folder and upload the new one from the /system/expressionengine/third_party/ directory in your download package.
- Within your sites ./themes/third_party/ directory, delete the campaigns folder and upload the new one from the /themes/third_party/ directory in your download package.
- Go to the Modules area in the ExpressionEngine control panel and click the Run Module Updates button.
PLEASE NOTE: If you previously installed v1 of Campaigns, you can not update to v2. You must completely uninstall and then remove Campaigns 1. Once removed follow the normal install steps above.
Campaigns works by connecting services to ExpressionEngine. Currently Campaigns can connect to Mailchimp, Campaign Monitor, Constant Contact, Benchmark Email, Twitter, Facebook, LinkedIn, Tumblr, and Google + (Experimental). Campaigns is a one way "sending" system and does not edit or add to subscriber lists, friends, or other service contacts.
Add a Service
Start by clicking "Add Account" on the "Accounts" tab the Campaigns Control Panel in the Modules area of ExpressionEngine. Here you will be given a list of options.
- Label - Add a term for this account. This label will be shown at the time of sending the Campaign. So for example use "Tweet @parscale" or "Email Campaign".
- Handle - This should autofill as a short name version. This is similar to the url title in ExpressionEngine. These must be unique.
- Service - Here you select your service. Depending on your choice the options on the right will change. Each service has different options and must be entered correctly.
Each service, except Benchmark Email, has a "Get Access Token" option. This will connect to the service and try to automatically fill in the required data. If you are not logged in as the correct user, this will not work. You can also manually enter this data, it will match the API data at the provider's website. We do not provide details explanations of where to get this API data, but each should be easily found if logged in at the appropriate service.
Once you have added all of your accounts you can see all of them on the default "Accounts" tab in the Control Panel for Campaigns. Most services will automatically test to make sure everything is correct, however a few services are unable to provide test results and will state "Not Available".
Note* - You can provide multiple connections to accounts. For example you could have 4 different Twitter accounts all attached. You would just continue to click "Add Account" and each one separately.
Campaigns are created through the usage of ExpressionEngine channels. When an entry is submitted using ExpressionEngine a campaign will be available. To make this functionality work we must connect services to channels. This is done in the "Channels" tab of the Campaigns control panel within the Modules section of ExpressionEngine.
When connecting a channel you will be given a list of all ExpressionEngine Channels listed on the left. To add Services to this Channel you simply click the Channel you wish to work with. Once you clicked you are given two options.
- Enabled - This allows you to turn on or off the campaign for this channel.
- Accounts - Select the accounts you wish to add to this campaign. You can select as many services as you wish and even select the same service multiple times.
When added the accounts each service will give custom options. Follow the choices to customize your campaign as you see fit. Most ExpressionEngine variables are available in the templates. The fields will act as if you are running within a Channel Entries tag when the campaign is created.
Email accounts will give a Preview option when created. You will need to choose an appropriate HTML template and Text template. Templates are simply ExpressionEngine templates choices.
Campaigns has the option to "Auto Send" campaigns on a schedule as well as "Auto Shorten" URLs with shortening services. Campaigns supports Bitly, is.gd, goo.gl, yourls, and lessn more.
To have campaigns auto send you will need to add a Cron job with your server provider. When the CRON URL is visited all pending Campaigns will be sent. We recommend setting up the Cron job to run every 5-10 minutes.
Campaigns can auto shorten URLs. This setting can be turned on per service when added to the Channel. Campaigns only supports one URL Shortener at a time. Each service has different API settings. By choosing the service Campaigns will provide you either a link or basic instructions on where to get your API keys.
Sometimes you might want to hide the service logo of the providers. For instance Mailchimp and Campaign Monitor offer 3rd party reseller programs. If this is the case you can click “No” on the “Show Service Logo” option and all service logos will be hidden from the ExpressionEngine campaigns.
After submitting an entry in ExpressionEngine you will be given options to publish your campaign. All the services you connected in the Channel tab will show horizontally accross the top of your ExpressionEngine submission page. If you are using any extensions that by pass this page, you will not be able to send a campaign.
With social sharing services you can overwrite your pre-templated options and choose to send your campaign immediately or schedule it to send in the future. Cron job is required to schedule campaigns for the future.
With email based campaigns you have the option to choose the email lists you wish to send to, preview the HTML template and send a test to provided emails addresses. Just like the social sending you can schedule campaigns for the future. Cron job is not required for scheduled email campaigns as your email service will provide this through their service.