Arial Software
  • Home
  • Product
    • Campaign Enterprise
    • Campaign Enterprise Upgrade
  • Support
    • Chat Now
    • Demos
    • Tutorials
    • Education/Tools
    • Newsletter Signup
    • Blog
  • Contact Us
    • About Us
    • Privacy Policy

Blog

How To Run Campaign Enterprise and IIS Server On The Same Computer

8/27/2012

2 Comments

 
By:  Chris Lewis

Ports on the internet are like frequencies on your radio.  They allow you to use the same "air waves" for a lot of different communication.  So, basically, if you try to connect to a service on the internet, like a webserver, then a webserver needs to be eagerly waiting for your request.  When you type in HTTP on a browser (along with the URL), your browser assumes you want to connect to the destination Webserver via port 80 (unless you override it).  Since Campaign Enterprise has a webserver built into it, it listens for requests.  If you put Campaign Enterprise on the same computer as an IIS Webserver there is a possibility that the two might collide if they are both trying to listen to port 80.  Actually, what will happen is that the first service that starts up will "win" and take over the listening of port 80.  The second service that starts up will try to listen to port 80 and fail because the first service has "binded" to that port.  You can see the problem: If two services were allowed to listen and respond to a request, the results would be chaos.

Since port 80 is well-known for website traffic it is almost always let through firewalls, etc. and should be used for response functions. Using port 80 in links within emails also are much more acceptable to SPAM ranking filters than a hyperlink using a "strange" port like 81.

To make Campaign Enterprise use port 80 but "play nice" with other Webservers on your system, you will have to assign multiple IP addresses on your computer so that Campaign Enterprise will bind to one IP and the IIS Server can bind to one or more of the other IPs.  It is the pair of IP and Port that makes the traffic coming back to the computer unique.  If traffic comes in directed to the computer using the IP and port that Campaign Enterprise is "listening" on, then Campaign Enterprise will respond to it and the IIS Server will ignore it.  The opposite applies to the IIS Server traffic where the IIS Server will respond to it's IP and port assigned to it.  So overall, if you find Campaign Enterprise when starting says "port in use", you will probably need to make adjustments to Campaign Enterprise and the IIS Server to allow them to co-exist.

"So", you may ask, "why does Campaign Enterprise come with the default ports of 81 and 82?"  This is done strictly for demo purposes so that you can be successful demoing the product on a computer with IIS Server running without running into the problems of colliding ports.  When you are ready to use Campaign Enterprise for real, change the response port to port 80 so your email will not be marked as SPAM because of the strange ports used in the URLs. 

There are two different ports used in Campaign Enterprise, one for the administration of the product and the other is for the traffic coming back to the server.  It is probably good to keep the administration port something oddball if you are planning on allowing administration of Campaign Enterprise from outside your firewall because then it is less likely to be crawled by robots out there looking for computers to harass.

2 Comments

SPF Records

8/23/2012

0 Comments

 
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.
0 Comments

SQL Server Drivers - Should I use 32 or 64 bit?  ODBC vs OLEDB?

8/20/2012

0 Comments

 
By: Chris Lewis

This question comes up a lot and it is a confusing issue because we are dealing with three different situations.
  1. Campaign Enterprise is currently a 32-bit application
  2. SQL Server which could be 32 or 64 bit
  3. Windows which can be 32 or 64 bit
Campaign Enterprise is currently only available in 32-bit which means it can use 4GB of RAM. That is a lot for a single installation.  The 64-bit version of Campaign Enterprise will be out with version 12.

Next, let's talk about the SQL Server and the Operating System.  Now, it may be possible to run a 32-bit SQL Server on a 64-bit Operating System but there is no reason to do that.  SQL Server comes in both different bit types, so match your SQL Server bit-type to the Operating System's bit-type.

ODBC - "O' Ancient One"
Though not recommended for various reasons, if you choose to use ODBC drivers to access SQL Server, your ODBC driver needs to be 32-bit to match Campaign Enterprise.  If you are on a 32-bit Operating System, the ODBC Connections tool in your control panel can be used to administer the ODBC definition.  If you are on a 64-bit Operating System, things are a little different.  If you go into the ODBC Connections tool in the Control Panel on a 64-bit Operating System then you will be creating 64-bit ODBC connections which Campaign Enterprise will not see at all.  In this case you have to use the 32-bit ODBC driver which is found most of the time at this location: Windows\SysWOW64\odbcad32.exe.  Run this program and you will be creating 32-bit ODBC connections that Campaign Enterprise can see.  ODBC Drivers for SQL Server and most of the time just part of the latest Operating Systems.  I am always surprised to see it listed even though SQL Server is not installed on the machine.  If you are missing it, you will need to download the SQL Server ODBC drivers.

OLEDB - "The Connector for Today"
This database method is the most current way to connect to SQL Server (and other) databases.  There will be 32 and 64 bit versions of these drivers.  Unlike ODBC connections, OLEDB drivers bit-type will depend on the SQL Server bit-type.  If you have a 32-bit SQL Server, use the 32-bit OLEDB driver.  If you ahve a 64-bit SQL Server, use the 64-bit driver.  Even though Campaign Enterprise is a 32-bit application, it can surprisingly talk to a 64-bit driver, not sure why, it is just that way.  You can download OLEDB Drivers from this location currently: http://www.microsoft.com/en-us/download/details.aspx?id=29065
On this page, look for this header: "SQL Server Native Client" or some variant of that.  There will be x86 version (32-bit) and x64 version (64-bit). For those of you in the future, just go to Google and type in "oledb driver download sql server" and you will get the latest.

Remember that the drivers here can sometimes be available already on machines that have SQL Server on them, but if you are communicating with a different machine with SQL Server then you will definitely have to download the drivers mentioned above.

ODBC vs OLEDB
ODBC was an attempt to make a universal database connection and is still widely used. Though it still can function fine depending on the situation, as time has marched on, ODBC has become obsolete because it cannot access many of the newer database column types we see and it does not do well with newer cursor types.  ODBC also has "layers" of translation that make it slow.  Though you could happily use ODBC connections far into the future, there might be a time where you need to use "that data type" and ODBC will not be able to handle it.  Among those data types are the larger structures like "TEXT" fields and other large data structures.  ODBC will return a empty string when you try to access these columns using an ODBC connector.  Overall, performance is the most attractive feature in using OLEDB for your connection.

Enjoy!


0 Comments

Sample Access .mdb Database

8/16/2012

7 Comments

 
Here is a sample MS Access database mdb file you can use.
7 Comments

Fixing Path/File Error in Email Marketing Director

8/14/2012

1 Comment

 
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.

  • Go to C:\Program Files (x86) and right mouse click on the EmailMarketingDirector folder.
  • Select properties and then click on the Security Tab.
  • Click the Edit button and select each of the users and ensure allow is checked for all users that you are allowed to edit.
  • Afterwards, go to C:\ProgramData* and do the same for the EMD folder there.
  • Restart EMD and you should be all set.

*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.


1 Comment

Email Campaign Timing

8/12/2012

0 Comments

 
By: Chris Lewis

Did you know that the timing of your email campaign has a big difference on how the emails are viewed?  Depending on the audience you are reaching, you should time sending your email campaigns when you feel that the recipients are on the computer.  When a user first logs onto his computer and checks email they will get a list of emails since the last time they were on.  Usually they view the emails from the most recent emails to the oldest.  If your email is one of the oldest n the list the user may have already grown tired of reading emails and may just glance over yours.  There are exceptions, but if your recipients are business oriented, try sending your campaign just after noon, and if they are mostly home users, send them just after they get home from work.  With varied time zones and sending speed it may be hard to time exactly but these are just general rules to more effective email campaigns.
0 Comments

Using Advanced Write Backs for Click Through Tracking

8/9/2012

0 Comments

 
Consider the following as a text representation of your original database source table.

ID EmailAddress FirstName LastName
1 bobsmith@yourdomain.com Bob Smith
2 janehooper@yourdomain.com Jane Hooper

To insert information into a new table use an insert statement, the built-in merge fields that can be used for Click-Throughs include: {CAMPAIGNID},{UNIQUEID}, {CLICKTHRUNUMBER}, {REMOTEADDRESS} and {EMAILADDRESS}. 

Sample Syntax:
INSERT INTO ClickThroughInfo (CAMPAIGNID,UNIQUEID,Event,CLICKTHRUNUMBER,REMOTEADDRESS,EMAILADDRESS) VALUES ({CAMPAIGNID},{UNIQUEID},'Click',{CLICKTHRUNUMBER},'{REMOTEADDRESS}','{EMAILADDRESS}')

ClickThroughInfo Table - Before Bob Smith or Jane Hooper have clicked on a click through.

CAMPAIGNID UNIQUEID Event CLICKTHRUNUMBER REMOTEADDRESS EMAILADDRESS

ClickThroughInfo Table - After Bob Smith clicked on a click through number 1 from campaign number 7, and click through number 3 from campaign number 2, and Jane Hooper clicked on click through number 11 for campaign number 5.

CAMPAIGNID UNIQUEID Event CLICKTHRUNUMBER REMOTEADDRESS EMAILADDRESS

7 1 Click 1 200.235.68.74 bobsmith@yourdomain.com
5 2 Click 11 12.45.74.1 janehooper@yourdomain.com
2 1 Click 3 200.235.68.74 bobsmith@yourdomain.com

Click-Through Tracking Stored Procedure
To run a stored procedure each time a click through is recorded, create the stored procedure on the database, then execute the stored procedure from the stored procedure field for open tracking.

Example: EXECUTE dbo.ClickthroughSP

You can now also use the {URL} merge field to pass the URL for the click through back to some field in your table.
0 Comments

Formatting Numeric Merge Fields for Message Personalization

8/8/2012

0 Comments

 
Numeric Merge Fields

If you are trying to use a field to represent a number in your message, it will not display correctly unless you modify the merge field. You would need to type any dollar signs or other symbols in the message body preceding the number.

If the merge field is {OrderAmount}~2, then it will round the number to two decimal places with no commas.
{OrderAmount}~2 1234.12
{OrderAmount}~5 1234.12287
{OrderAmount}~0 1234

If the merge field is {OrderAmount}^2, then it will round the number to two decimal places with commas.

{OrderAmount}^2 1,234.12
{OrderAmount}^5 1,234.12287
{OrderAmount}^0 1,234
0 Comments

How to Concatenate Data in Email Messages with Campaign Enterprise

8/8/2012

0 Comments

 
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.
0 Comments

Your SMTP Server - More Important Than The Email Tool

8/8/2012

0 Comments

 
By: Chris Lewis

The choice of the SMTP server you use is as if not more important that the email marketing tool you us. You can create the best looking, most effective email ever but if your SMTP server setup is not set up well then it is like you never sent it.

SMTP servers are the email work-horses of the internet.  In the world of amazing technology, it is sometimes hard to be impressed, but I am constantly amazed by the thought and foreknowledge of the whole SMTP server framework.  As time has moved on, the SMTP framework has changed, and the biggest change is that of SPAM control.  There are to main problem areas we see daily with SMTP servers: How to connect to your SMTP server, and how "good" your SMTP actually functions.

SMTP Connection - The problems that are encountered when connecting to SMTP servers are varied and usually include these:
  • The port you need to use is being blocked by your ISP if you SMTP server
  • My ISP only allows so many email per day/hour
  • Not using the correct connection method (ie: TLS, SSL, NTLM) or wrong domain name
  • My ISP's SMTP server is not a "good citizen" in the internet world
SMTP Configuration - If you have your own SMTP server on-site you are both blessed and cursed.  You will be able to get your emails out to the SMTP server at lightning speeds, but since you have your own SMTP server YOU will have to be responsible for being a "good citizen."  This means you need to do daily duties like making sure your IP address(es) on the SMTP is using is not blacklisted, that major email providers like Hotmail, AOL, and Gmail and not blocking your emails, and making sure you are not overwelming your SMTP server or your connection to the internet.  Needless to say this is a big subject, but these are some of the things to consider.

SMTP Providers - There are specialized companies out there that will act as your SMTP server.  They will ensure your emails going out are appropriately make to conform to SPAM rules, they monitor their servers to make sure they are not blocked, and they will help you resolve issues that do come up is there are any problems with email recipients.  Now it is true this will cost you some money, but if you add up all the time you or someone you will hire to work on these issues I think the value is there.  If you are sending 100,000 emails a month, then the prices are really reasonable.  If you send over a million, then that is maybe when you can start thinking of having your own SMTP server, but it really depends on the connectivity, your budget, and your expertise.  One of our partners is SMTP.com (http://arialsoftware.smtp.com) and they have been a great partner with us for years. There are others, but I think they are the best, so check them out if this seems like a solution for you.


0 Comments
<<Previous

    Archives

    December 2017
    March 2017
    July 2016
    January 2016
    May 2015
    March 2014
    January 2014
    October 2013
    August 2013
    July 2013
    June 2013
    February 2013
    January 2013
    December 2012
    November 2012
    October 2012
    September 2012
    August 2012
    July 2012
    May 2012
    April 2012
    March 2012
    January 2012
    December 2011

    Categories

    All
    Access
    Addresses
    Bounce
    Campaign Enterprise
    Campaign Enterprise
    Character Set
    Connections
    Cost Benefit
    Cost-benefit
    Database
    Design
    Editor
    Email Lists
    Email Marketing Director
    Email Service Providers
    How To
    How To
    Html
    Iis
    Installation
    Manage Lists
    Mysql
    Network
    News
    Newsletter
    Port Managment
    Query
    Relaying
    Saving Money
    Sending
    Smtp
    Sql
    Support
    Troubleshooting
    VERPS
    Write Backs
    Write Backs

    RSS Feed

Arial Software          info@arialsoftware.com          Ph 949.218.3852
  • Home
  • Product
    • Campaign Enterprise
    • Campaign Enterprise Upgrade
  • Support
    • Chat Now
    • Demos
    • Tutorials
    • Education/Tools
    • Newsletter Signup
    • Blog
  • Contact Us
    • About Us
    • Privacy Policy