Campaign Enterprise 12 is used in conjunction with Windows IIS 7 or later. One of the first things you may need to do when configuring your Campaign 12 system, is ensure IIS is enabled and started. Here is how you do that.
0 Comments
By: Chris Lewis
One of the uses of Campaign Enterprise is to send out triggered emails like for birthdays, anniversaries, or other info that has to be sent on X-amount of days after a date. The following example sends out an email 3 days after someone signs up for information: First, we have a table where information about your signups are stored. For this example we will call this tblSignups. In this table, we need a date column in this table to trigger on in your email. For this example, we will have the column called "SignupDate" and this should be set at the date that the person signs up on your website. Next, we create a campaign that we want to use to send the email and on the Datasource tab we use this following SQL statement (assuming MS SQL Server): SELECT * FROM tblSignUps WHERE DateDiff(dd,SignupDate,GetDate())=3 Now for this Campaign to work, the campaign will need to be scheduled to run each day at the same time. If a day is missed, then that day's emails will not go out. The only way to make sure all emails go out is having another column in the database that is marked when the email is sent, and then you can check that in the SQL statement used for sending. For example, if you had another column called EmailSent (a BIT type) that was set when the email was sent, you would use an SQL statement like this: SELECT * FROM tblSignUps WHERE DateDiff(dd,SignupDate,GetDate())=>3 and EmailSent=0 You can add more sophistication to these statements but this is a good start. By: Chris Lewis
When the first Arial Software products were create the database language of SQL was thought of to be too hard to use and just for programmers. Many of the database operations that were done using our program were simple field/column updates, like incrementing a number in a record if the email was sent. The program was set up so that the field to be updated was in a selection box and the only operation you could do is increment the field by one. This functionality still exists today even in version 11, but as many have seen this simple operation is not sufficient. Because of this we added the ability to run an SQL statement when an even happens in Campaign Enterprise, like when a record is sent, when an email is unsubscribed, or a click through occurs. This feature can be turned on in the administration area which then causes the program to show this new SQL statement box on each even configuration screen. Some have opted to, instead of incrementing a record, to insert a new record recording the event into a table that can be used for later reporting. And example of this, say for an unsubscribe operation would be: INSERT INTO tblUnsubscribes (CampaignID,UniqueID,EventDateTime) values ({CAMPAIGNID},{UNIQUEID},GetDate()); So, when a unsubscribe event happens for a particular email that was sent, this statement is sent to the database you are using and the values within the braces { } are replaced with real values. The resulting statement that is actually sent to your database would look like this: INSERT INTO tblUnsubscribes (CampaignID,UniqueID,EventDateTime) values (14,43456,GetDate()); After the operation is done, you will have a new record in the tblUnusubscribes table recording this event. This data can now be used for filtering and/or reporting purposes later. The advantage of this method is that it records the specific date and time of the event, and the data is separate from the original record. Using this method is required when the original data cannot be modified due to security or database structure. You can use any legal SQL statement you want for these events. You could opt to update a record instead of inserting, or you could run a stored procedure to trigger other events. More information is available on this subject on this website or by request. By: Chris Lewis
As it turns out, we could keep going with all kinds of tips for making successful email campaigns, so the final ones I am writing about now and the last of the "prevalent" ones that we see regularly. Consider Preview Panes - Many of your email recipients may be viewing your email in a preview pane with graphics turned off. You need to consider this happening and frame your emails appropriately. You may want to start your email with some text first and then add the graphics later down the email. If you email is one big graphic, you may be shooting yourself in the foot. Emails should be as short as possible - An email needs to have targeted information that hopefully can be scanned quickly by the recipient with the most important issues up top. Don't build up your email like a written a book. You need to write the email so that the first thing they see will be the biggest and the best part of the email with the later info just being details. Consider mobile devices - Many mobile devices only have a view space of 320 wide. So many people are using mobile devices that you may want to consider forming your email so it will look good in both normal computers and mobile devices. This can be a lot to consider, but depending on the audience you are targeting it is something to consider. Now obviously every time you send out an email campaign it is hard to consider all the tips and strategies you have and still make the email look good in all circumstances. There is definitely a balance, and there are some things that are more important than others. I find that small tweaks to email marketing strategy can change effectiveness many percentage points. Email Marketing is not a "static" event. Just like any marketing effort, create and then evaluate. By: Chris Lewis
Since there was such a great response to this subject, we now explore new ways to get your email through and read by the recipients. We have found that effective email marketing is not a one-time ordeal but a conversation with the recipient. User questions are great content for newsletters - The goal is to create more ways to encourage the recipient to open your email or benefit from the content. To do this you need to have content they will enjoy or benefit from. If you create a weekly or monthly newsletter, get together with a group that deal with clients and see what questions have come up. If some people are asking the same questions, then it will be certain others will be interested in the answers. Use your brand in the subject line - Spark interest in the reader and make them comfortable with opening your email. Test your links - Emails with dead links are obviously bad, but you would be surprised how many emails do go out without a good test of these critical links. Many SPAM filters will test these links to make sure they are live, and if not, will score down the emails and many recipients will not even get them. Right before you are about to hit Send, send a test message to yourself, or better yet, someone else, and test to make sure every single link in your email is active. Even after the email goes out, for a day or two, test the links in the email again. With active marketing departments that change things up a lot, you never know when something might change that effects your email. Send a Plain Text version of your email along with the HTML version - Many SPAM scoring systems like to see an alternative plain-text version of emails. If you are using Campaign Enterprise, after you have completed your HTML message, you can go into the Plain Text editor and import the HTML into the plain text area. It strips away all HTML tags and allows people without HTML viewers to be the message. Watch out to make sure your plain text version of the message is the same as the HTML version. If you make changes to your HTML message, update your plain text version too. If you don't some SPAM scorers will think you are trying to trying to send two different messages. General Bounce Information Managing bounces is one of the most important steps you can take with email marketing. Remote servers (those responsible for delivering to your customers) tally up the number of failed emails to their domain and will score you based on the percentage. If your bounce percentage is high, they can start blocking you on the fly to other emails in their domain. Identifying bounced emails the first time, and filtering them or removing them from your list is critical for email deliverability. In order for Campaign Enterprise to manage bounces, you must set up an email account exclusively for Campaign Enterprise's use. Create a new POP3 or IMAP4 email account as though Campaign were a new employee. This account cannot be an alias of another account and must be exclusive to Campaign. Once you configure the account, use it as the return path address, which is identified as the bounce email address on the compose message page in the Campaign edit screens. The Return Path email address is where non-delivery failure notifications go, also known as NDFs or bounces. These are notices from your mail server, or subsequent mail servers in the delivery chain, indicating a problem with sending the message. A permanent NDF is considered a hard bounce, either the domain or address doesn't even exist. These are identified by Campaign as a hard bounce, and can be filtered or removed from your list immediately in most cases. A temporary NDF is a notice from an email server that there was a problem with delivery, but your mail server may retry the message on a scheduled retry. You'll need to talk to your mail administrator about the number of retries your server has. These are identified as soft bounces by Campaign and you can use more discretion on filtering or fixing these addresses. Managing Bounced Emails with Campaign Other write back features in Campaign Enterprise use the unique id, but the id is frequently stripped out of bounced email messages. The only thing that is always preserved is the original to address. Unlike other features with Campaign Enterprise, the record that bounces is updated by comparing the original to address with the address field in your source table, not the unique id. Since this is the case, you will need one bounce email account for each table to which you are connecting. Scenario One In the example below, there are three different campaigns, all using the same source table. In this case, all the campaigns use the email address for bounce account 1, but only one campaign needs to actually have bounce enabled. All bounces, regardless of which campaign sent them, will update in the source table. Since the source table is updated, all three campaigns will be able to identify the bounced emails and apply the filter to prevent those emails from going out again. Using this scenario, you can create a Bounce Campaign, which is open to the entire table, no filtering, and enable it to monitor the account. It will monitor the account for all of the campaigns connected to that table and using that bounce email account. Scenario Two This example shows how bounces should be managed with multiple tables, one for each campaign. Since the source table has a specific group of addresses, you cannot check that account with the same bounce account being used by another campaign, the email address may not appear in the table. Each campaign would use the email address for the specific bounce account to which they are connected. Scenario Three
Finally, you can set up your bounce account to monitor an email account that accepts wild cards. With this option you can use VERPS, or Variable Envelop Return Paths. This is explained in more detail in these two articles. Using VERPS More on VERPS Unfortunately, MS Exchange Server 2010 does not support email accounts with wild cards. For more information on setting up your bounce email account, check with your email service provider. A new label is being applied to a specific category of unwanted emails. BACN is the "clever" new acronym that applies to emails that don't quite fall into unsolicited bulk email, or as highly prized and desired email. It falls somewhere in between on the desirability scale. As email marketers it is imperative that you take steps to avoid your messages falling into the BACN designation.
What is BACN? Unlike SPAM, BACN email is slightly more palatable, but too much of it is not good for you. The email that falls into this category is best described as something you signed up for, but don't really read. However, you don't want to unsubscribe because every so often you might get a golden nugget of information, or a coupon for something you really need. From the email marketer's standpoint, the problem with BACN email is that it is rarely read. There are three major steps you can take to avoid the BACN designation:
There are several different accepted methods in use now that keep spammers from being successful. One of those methods is the SPF designation. In order for your emails not to be rejected by the recipients mail system we recommend that you create a Sender Policy Framework (SPF) record for your domain. An SPF record is a type of Domain Name Service (DNS) record that identifies which mail servers are permitted to send email on behalf of your domain.
The purpose of an SPF record is to prevent spammers from sending messages with forged From addresses at your domain. Recipients can refer to the SPF record to determine whether a message purporting to be from your domain comes from an authorized mail server. For example, suppose that your domain example.com uses Gmail. You create an SPF record that identifies the Google Apps mail servers as the authorized mail servers for your domain. When a recipient's mail server receives a message from user@example.com, it can check the SPF record for example.com to determine whether it is a valid message. If the message comes from a server other than the Gmail's mail servers listed in your domain's SPF record, the recipient's mail server can reject it as spam. If your domain does not have an SPF record, some recipient domains may reject messages from your users because they cannot validate that the messages come from an authorized mail server. To Create an SPF record for your domain, you will have to be able to edit your domains DNS information and use a format that specifies your mail servers. In Windows Vista, Microsoft added features to the operating system to protect you from yourself, especially when downloading and installing software programs. Many of these safety features were carried over into Windows 7, although they make it somewhat easier to customize.
When attempting to re-start Email Marketing Director in a Windows 7 (or Vista) environment (or later, probably 8 too), you may see the following error: Path/File Access Error Either the campaign.sto or campaignlists.sto files is locked. Closing the program In most cases, if you are loading programs as an administrator in your Windows environment, you will have no problem, but if you are logged in as a separate user, you must give yourself permission to run the program. To set permissions, do the following.
*The Programdata folder is a hidden folder, you may need to show hidden folders before you can access this folder to change the permissions. To show hidden folders, open your Windows Explorer and click organize, then Folder and Search options. Click on the View tab and find the option to Show Hidden Files Folders and Drives. You can also type C:\ProgramData in the Windows Explorer address bar to access the folder. There are instances in an email marketing campaign where you may need to compile customer information out of several tables in your database, and have it appear in a dynamically formatted list in the email message.
Using standard merge fields is possible, but this often results in unwanted spaces or line breaks. The way to manage multiple data displays effectively is to use a stored procedure to concatenate the data prior to inclusion in the merged email message. We will assume that you have a table that contains the Customer's unique ID from your regular customer table, the name of the product purchased, the name of the customer and the email address. I have named my table PurchaseDetail and the schema looks like this: CREATE TABLE dbo.PurchaseDetail ( ProductID int NULL, CustomerID int NULL, ProdName varchar(100) NULL, CustName varchar(100) NULL, Email varchar(100) NULL ) ON [PRIMARY] GO Note: There is no primary key and no default values for fields. One row is inserted for each purchased item. We will use a stored procedure to create a row in the NewPurchases table for each unique CustomerID in the PurchaseDetail table. The stored procedure will then process each row of the PurchaseDetail table and update the Purchases field of the NewPurchases table and append the purchased item for that customer to any existing purchased items for that customer. NewPurchases: CREATE TABLE dbo.NewPurchase ( CustID int NULL, CustomerName varchar(100) NULL, Email varchar(100) NULL, Purchases varchar(8000) NULL ) ON [PRIMARY] GO ALTER TABLE dbo.NewPurchase ADD CONSTRAINT DF_NewPurchase_Purchases DEFAULT '<br>' FOR Purchases GO COMMIT Note: There is no primary key and the Purchases field has a default value of <br> so the purchased items appear in a column in your HTML email message. Also, the limitation of this field is 8000 characters. If you have more than 8000 characters of product sold to one customer, you will have to think of an alternative to this stored procedure. When this stored procedure is run, you will be able to merge the Purchases field into your Campaign Enterprise message body and have a list of products purchased by one customer. You will also have the customers name to use as a merge field in your message such as, 'Dear {CustomerName}', to personalize your message. The email address and unique id to use on the Data Source page of your campaign are also available. Please consider another limitation of this solution. This solution is a one-time option. For instance, a scenario where you need to send more than one email to a specific customer, you will need to consider the filters to employ to have the correct list of products merge into the Purchases field. Using a date/time field is the easiest, by allowing you to filter the PurchaseDetail table on only products sold within a time frame e.g. the last month and the email is sent once a month. Stored procedure BuildContent: CREATE PROCEDURE dbo.BuildContent AS DECLARE @CustID int DECLARE @PurchaseItem varchar (100) DECLARE @Email varchar (100) DECLARE @CustomerName varchar (100) SET NOCOUNT ON Insert into NewPurchase (CustID) (select distinct CustomerID from PurchaseDetail) DECLARE BuildCursor CURSOR FOR SELECT CustomerID, ProdName, CustName, Email FROM PurchaseDetail OPEN BuildCursor FETCH NEXT FROM BuildCursor INTO @CustID, @PurchaseItem, @CustomerName, @Email WHILE @@FETCH_STATUS = 0 BEGIN UPDATE NewPurchase SET CustomerName = @CustomerName, Email = @Email, Purchases = Purchases + @PurchaseItem + '<br>' WHERE CustID = @CustID FETCH NEXT FROM BuildCursor INTO @CustID, @PurchaseItem, @CustomerName, @Email END CLOSE BuildCursor DEALLOCATE BuildCursor GO This is just one example of using a stored procedure with Campaign Enterprise. Stored procedures are not for everybody, as you can see they are quite technical and require a lot of trial and error. Once created however, stored procedure calls on your database can greatly reduce data management workload and improve overall email marketing efficiency. |
Archives
December 2017
Categories
All
|