! Campaign Enterprise v12 User Documentation Revised 2015-07-05 (v12.0.262) Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !1 Table of Contents Introduction ...............................................................................................................3 Major Changes In Campaign Enterprise v12 .........................................................4 Campaign Enterprise Deployment ..........................................................................5 Installation Instructions ...........................................................................................6 Bounce System Setup ............................................................................................15 Administration Functions ......................................................................................17 Email List Administration ......................................................................................29 Campaign Administration ......................................................................................37 Message Content Programming............................................................................57 Using External Databases .....................................................................................63 CECONFIGURATION.TXT File Settings ................................................................65 Uninstalling Campaign Enterprise ........................................................................68 Moving The Campaign Enterprise Database (CampaignDB1)............................69 Revision History ....................................................................................................70 Troubleshooting......................................................................................................87 Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !2 Introduction Campaign Enterprise has been re-written from the ground-up in the .NET framework, supports true multi-threading managed by the OS, and now uses the Microsoft Internet Information Service (IIS) for all web activities. The IIS system is used for administration of Email Campaigns and Email Lists, open tracking, click tracking resolution, view-as-webpage functions, and unsubscribe functions. Using the IIS system you will have control over all aspects of how the product functions including security, SSL certificates for HTTPS functions, NTML user authentication, and everything else IIS offers. All offline functions, such as email sending, schedule processing, and bounce handling are done in a separate service apart from the web activities. All these functions utilize the same SQL server(s) to communicate and stay in coordination. The back-end database for Campaign Enterprise will now be based on Microsoft's SQL server, but if you do not have a license for MS SQL we will provide a version of MS SQL Server system that will have plenty of power for Campaign Enterprise. You can still use all the previous databases like Oracle, MySQL, DB2, MS Access as always. Campaign Enterprise comes in 3 different editions depending on your needs, but all editions of Campaign Enterprise include the following elements: • The system has been completely rewritten in a modern language (.net) that supports today's OSs in 64 bit, and multithreading (no lockups) • The web server portion utilizes Windows IIS. Using IIS brings all of the advantages of using an IIS server including higher security and scalability • Introduction of "Run-Instances" where each campaign run is stored in the database and all response events can be attributed to a specific run of that campaign. This is very important if you run the same campaign many times and need to know the effectiveness of each run. • Email sending speeds have been dramatically increased (600k/hour on one thread, small message) • The user interface is more intuitive to sending email similar to a web-mail client • You can send campaign simultaneously • Use the campaign scheduling system to launch campaigns at a specific date and time, you set the campaign to run on a repetitive cycle. This is perfect if you need to monitor a database for orders or other database triggered events for sending an email. • Drag-and-Drop calendar scheduling function showing US holidays and blackout days • There is now a built-in POP server so all bounce handing is done internally and you don't have to establish bounce POP accounts for each campaign as before (you just set an MX record to Campaign Enterprise). Since the system will use a VERPS technique (Variable Envelope Return Path) for bounces, every bounce will be recorded correctly since the information returned is embedded into the return-path address that is not modified by the SMTP server system. • You can create and maintain built-in Email Lists with importing capabilities. Custom fields can be added to the email list so you can save other information. By using Filtered Email Lists you can create a new email based on a larger list. • The backend database is MS SQL Server. You can use the free version of MS SQL or use an instance of your own SQL server • Email sending is done using multiple sending threads instead of a singular sending thread • Since we are using IIS for the web server all SSL certificates for communicating in HTTPS are support • Windows user login ability (NTLM) allows you to choose to use your Windows login context to log into Campaign Enterprise • View email as a webpage capability just by enabling it • Built-in web-based unsubscribe ability. During unsubscribe you can optionally ask the “reason”. • Graphics that are used in emails are uploaded to Campaign Enterprise through the editor interface. The images are hosted on the Campaign Enterprise system or can be embedded in the email • Higher performance click tracking and open tracking due to the IIS server and MS SQL server • More reporting capabilities with the combination of MS SQL server table and better recording structure • Able to submit campaign initiation from outside of Campaign Enterprise (API) • Ability to have multiple Campaign Enterprise systems behind a load-balancer to distribute high-volume responses and also to allow Campaign Enterprise systems to be shut down while others run (100% uptime) • New user interface, less graphics, very fast, and more business oriented. • Built-in Mail Server test system. Allows you to send your campaign to a “fake” SMTP server that can measure the fastest speed possible to your normal SMTP server. • Per-User session timeout limits • Automated password retrieval Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !3 Major Changes In Campaign Enterprise v12 Run Instances - In the past, when you ran a campaign several times, all of the statistics were grouped into one cumulative set of data so you really did not know what results you obtained from running the campaign over time. With the introduction of Run Instances, Campaign Enterprise stores individual statistics on every campaign that is run (more than a log). You can run reports based on the whole campaign or on individual campaign runs. Unlimited Sending Threads - In version 11 and earlier, the number of sending threads you could send at the same time was limited by your user license count. Those limitations have been lifted! Also, Campaign Enterprise is now a completely multi-threaded system and can more effectively use CPUs (cores) and memory. Each Mail Server can now be assigned a number of “threads” that can be sent to that Mail Server concurrently. Mail Server Groups - You are now able to establish Mail Server Groups which are collections of Mail Servers. A Mail Server Group can be selected to send your campaign like any other single Mail Server, but having a group of Mail Servers working together will increase sending performance and add redundancy. If a Mail Server in a Mail Server Group is shut down for maintenance or is having a problem and cannot receive email anymore, that Mail Server is “invalidated” by Campaign Enterprise for that specific campaign run and the other Mail Servers in the group will take up the slack and continue. Bounce Handling - No more POP accounts! This is one of the biggest changes to Campaign Enterprise and was one of our most asked for feature. Campaign Enterprise now has a built-in SMTP receiver service that will accept and process bounced emails based on VERPs technology (Variable Envelope Return Path). In the past, you had to establish a POP account for almost every campaign you did. Campaign Enterprise then had to monitor all of those POP accounts which was a huge bottleneck and drain of resources for large system or systems that have been running for a period of time. Now, you simply create a bounce domain name (or multiple domain names) in DNS which can be a sub-domain of your current domain name. Emails are sent using a special return-path address including the domain you established, the email list, and recipient record ID. If the email is returned by the recipient SMTP server then Campaign Enterprise will record that bounce perfectly. Use of Windows IIS Webserver - Campaign Enterprise now uses the familiar Windows IIS system for all webserver activities. The advantages of using this webserver would fill pages of documentation, but the most important improvement will be reliability and configuration possibilities. Using this system can also being used to establish load-balancing to multiple Campaign Enterprise instances if needed. Use of Microsoft SQL Server - In the past, you had to purchase a higher-priced edition of Campaign Enterprise so that Campaign Enterprise would use an external database for backend database activities. Today with version 12, using an SQL Server is standard and the single database file is no longer used. The SQL Server can either be an SQL “Express” version, which is free of charge, or if you have your own SQL Server system already running than Campaign Enterprise can use that. Because the SQL Server is truly a transactional database, lock-ups will not occur as in the past when the single-file database was getting hit too hard. Using the SQL Server also lends to more reliability, more security, and easier backups. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !4 Campaign Enterprise Deployment Below is an overview of the way that Campaign Enterprise can be deployed. In this graphic, the SQL Server configuration is shown to be on a separate machine, and even shows the mirroring ability if required, but the SQL Server can exist on the same computer as Campaign Enterprise. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !5 Installation Instructions Recommendations We recommend installing Campaign Enterprise on a fresh new system so there will be no chances of compromising any other operations a computer may be doing. If you cannot, please be sure the machine is backed up, especially the IIS System meta-base because the install will be making additions to the IIS system. You may install the program on a test computer and move it to a production computer later. Over-use of the license key may cause it to be invalidated. Prerequisites Machine requirements: • • • • • • • Microsoft Windows 2008 or better, 64-bit OS only, Cannot be on a Domain Controller Microsoft Windows IIS 7 Web Server or better At least 2 CPU cores 4GB minimum but 8GB or more is recommended SQL Server 2005, 2008, or 2012, Full or Express version 100MB Disk just for Campaign Enterprise programs, your database are additional 2 IP addresses if you already have a full Email Server (SMTP) that listens to port 25 because Campaign Enterprise needs to listen to port 25 for bounce recording - If you DO NOT have an SQL Server to use - SQL Server is required for all back-end database activities for Campaign Enterprise. You can use the free SQL Server Express 2012 and we recommend downloading latest version from the website below. There are several variations of SQL Server Express to use but we recommend using the “MS SQL Express 2012 with Tools” so you can administer the SQL Server if needed. http://www.microsoft.com/en-us/download/details.aspx?id=29062 After downloading and installation the SQL Server Express, make sure the SQL Server Service is running before installing Campaign Enterprise by checking the Windows Services area in the Windows Control Panel. - If you DO have an SQL Server on another machine - Then you will need to run a few scripts on your SQL Server to build the database required to run Campaign Enterprise. You will need to be able to log into the SQL Server Management System (SSMS) to run these scripts, and you will need to establish either SQL or Windows authentication security records so you can access these new databases. - You may need to enable ASP in your IIS setup. Most "server" computers will already have this enabled in IIS but some may not. You can check this by looking the ASP setting, IIS Server, in the System Roles on the computer. This configuration area can be in the "Turn Windows Features On of OFF" link in the "Programs And Features" area of the Windows Control Panel. - Verify that the IIS website service is up and running. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !6 - For bounce processing, open port 25 to the Campaign Enterprise computer. We assume that port 80 is already open for HTTP activity - Create DNS entries for admin, public, and bounce activities. • You should have an "A" record in your DNS pointing to the IP address for the IIS system for administrative website activities. Example: http://ceadmin.arialsoftware.com. This URL will be used to log into the Campaign Enterprise system to configure and monitor campaigns. • You should have an "A" record in your DNS pointing to the IP address for the IIS system for public website activities. Example: http://cepublic.arialsoftware.com. This URL will be used by the outside world to get images for emails you send out (not embedded), respond to unsubscribe requests, click tracking requests, etc. • You have to create an "MX" record for bounce processing. Using the VERPs method, any emails that are rejected by the destination email server will be returned to the Campaign Enterprise system by using this domain name. The bounce domain should point to the Public Domain Name above. Usually it is best to use a sub-domain of your main domain for consistency. For example, if your domain name for email is "arialsoftware.com", then a good domain to use would be "cebounce.arialsoftare.com". Example DNS entry would be: cebounce.arialsoftare.com MX 10 cepublic.arialsoftware.com Program Installation Run the installation EXE file that is found in the zip file you downloaded. You will need to run the installation EXE with administrator rights. The installation will first extract the files/folders it needs into a temporary area, then you will be presented with a configuration screen. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !7 After the file extraction phase, and the installation of support files, you will be presented with this screen: License Key - Enter the license key you were given by Arial Software in this email. This may either be a full license or a trial license. ! Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !8 ! Installation Folder - On the initial installation of the product you will see this screen. Enter the disk path for the ultimate location of the Campaign Enterprise files. We recommend using the normal "inetpub" path that IIS uses for that other websites, but technically it can be located anywhere. Do not use an ending back-slash in the path. Example: c:\inetpub\ce12 Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !9 ! SQL Server Name or IP - This is the name of your SQL Server to be used. This setting may be the computer name, the computer name and the SQL instance name, or IP address depending on how you set it up your SQL Server. For example, it could be "COMPUTER1" or it could be "COMPUTER1\SQLEXPRESS". The easiest way to find this out is setting is to start up the SQL Server Management tool (SSMS) in the start menu, and when attempting to log on it will show the SQL Server name in the login box. Authentication - When using “Windows Authentication”, the username you are currently logged in as will be used to access the SQL server specified. When using “SQL Authentication” you will be prompted to enter the SQL username and password. Skip creating databases now but make SQL script - This setting is for when you want to install Campaign Enterprise now but you do not presently have access to the SQL Server that you need to use. This can happen in companies where the SQL servers are handled by another department. Whether or not the connection to the database is made during this installation, an SQL script will be created to reproduce the backend database tables, default data, and security. If you already have an SQL Server on a different computer for the back-end for Campaign Enterprise, check this box and the installation will not attempt to create the database volumes during installation. The created script can then be used by you or others to create the databases. Because of the database not being created immediately, none of the services will be started and the administration website will not function. After installation, you will need to create the database volumes and security entries on your SQL Server Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !10 manually. This SQL script , called “ce.sql”, can be found in the “CE12\support” folder after installation that you will run on your external SQL server. ! Admin Domain Name - This is the domain name that gets set in the IIS system for the Administration website entry. (see reference above in prerequisites) Public Domain Name - This is the domain name that gets set in the IIS system for the Public website entry. (see reference above in prerequisites) Bounce Domain Name - This domain is used in the Return-Path portion of the emails that will be sent out and concerns email bounces. (see reference above in prerequisites) Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !11 ! Create local machine usernames - When this is selected, the installation will create the usernames specified on the current machine. This is usual when the SQL Server also resides on the same computer. Just include the username itself and not the machine name. Use existing Domain usernames - When this is selected, the installation will validate that these domain usernames (for admin and public) and then use these usernames and passwords to establish security and run-time context for the webserver and services. When entering the username be sure to use the full domain username like [email protected] Campaign Enterprise Admin Account - This is the username and password that will be used when the installation is creating the Windows user account "ceadmin". This new username is used for the Campaign Enterprise IIS website activities concerning the administering of campaigns, and allows Windows Authentication to be use to connect to the SQL Server. This new username is also granted "Log On As Service" privilege to run the background services for the Campaign Enterprise system. Campaign Enterprise Public Account - This is the password that will be used when the installation is creating the Windows user account "cepublic". This new username is used with the Public IIS server entry for website activities like response events like click tracking and unsubscribes. Optionally you can reduce the privileges of this user in the SQL Server for added security. Proceed by clicking on the Continue button and monitor the installation of the system. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !12 After Installation • After installation, make sure the CE services are running (if you allowed the SQL databased to be created). The services involved with Campaign Enterprise are: • • • • • World Wide Web Publishing Service (IIS) CEMain CEBounce CEMailServer CEQSend • Make sure that the IIS Website entries have been made in the IIS Management Console • Make sure that the two database volumes were created in the SQL server: • CampaignDB1 • CampaignLists • Log onto the system using the Admin URL like above: http://ceadmin.arialsoftware.com (your specific URL) The default login information is: email: password: [email protected] adminadmin • After login in, you can go to the Administration section of the program (click on Administration upperright-hand corner) and go through these management areas to get started: • • • • • • System-Wide settings and add mail server information that will be used by the system for email notifications/alerts. Site-Specific settings will allow you to set up some features specific for your installation User Management - Change the email and password you just used to log in in the "User Management" area Bounce Domain Name Management - You should have one entry in this section that was created during installation Public URL Management - You should have one entry in this section that was created during installation Mail Servers - By default there will be a pseudo email server entry for testing. Add at least one more Mail Server that will be selectable by the Campaigns Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !13 Notes • Since Microsoft IIS is being used, you are completely open to making any changes you want to that system concerning security, scaleability, etc. You can add SSL certificates for secured communication and even lock down folders if needed. • During installation the system will create a file called ceconfiguration.txt in the “system” folder under “ce12” folder. This file allows you to modify the connection strings to the databases and update license keys if needed. You can also control levels of system debugging using switches. After modifications to this file it is recommended you restart all services to use the new settings. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !14 Bounce System Setup Bounced Emails and VERPs A “bounced” email refers to an email that could not be delivered to the recipient, for various reasons, and it is returned to the address specified in the “return-path” address of the email. Campaign Enterprise acts like a mail server using this customer domain name you supply. Campaign Enterprise uses VERPs (http://en.wikipedia.org/wiki/Variable_envelope_return_path") to manage these these emails. When a email is sent from Campaign Enterprise the “return-path” email address used is unique to that recipient so that when the bounced email is returned it can be identified to that exact recipient. The return-path address that Campaign Enterprise generates may look like this: [email protected] The first part of the email (to the left of the @ sign) is an encoding of the unique ID of the recipient, the campaign ID, and the recipient email address used to send the email. The domain part of the email (to the right of the @ sign) is what you specify as the “bounce domain name”. This format will vary slightly if the UniqueID and EmailAddress columns you specify are the same where it will only include the information once in the return-path string. Setup & Testing of the Bounce System Step #1: Set up an MX record in your DNS so the bounced emails can make it back to the Campaign Enterprise computer. We recommend that you create a subdomain or your main domain name because if you use your main domain name then the bounced emails will returned to your normal mail system and not Campaign Enterprise. For instance, if you normal email domain is arialsoftware.com, then make a subdomain called cebounce.arialsoftware.com. Here is a sample DNS MX record entry: cebounce.arialsoftware.com MX 0 cepublic.arialsoftware.com It is assumed there is already an “A” record for cepublic.arialsoftware.com pointing to the IP or your Campaign Enterprise box. Next you need to create an SPF record for the bounce domain name. This is used by the receiving mail server to validate that the sending mail server is authorized to send for the domain. Step #2: Open a port 25 from the outside internet to your Campaign Enterprise box. In this way, they mails servers of the world can bounce the emails directly back to Campaign Enterprise for processing. Step #3: On a computer outside your network, using NSLOOKUP, test that the MX record that you established is available. You can do this by running NSLOOKUP from a DOS prompt, then typing “set q=mx” telling NSLOOKUP to look at MX records, then type in your bounce domain name. The return information should show the MX record with it pointing to your public domain name for Campaign Enterprise. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !15 ! Step #4: Now that the MX record is established and port 25 is open, you can test if the Campaign Enterprise bounce system can be communicated with from the outside. Again, on a computer outside your network, go do a DOS prompt and run TELNET. Once in TELNET, type something like: TELNET> open cepublic.arialsoftware.com 25 If everything is working you will get a prompt from the Campaign Enterprise bounce system which says “Arial Here”. ! Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !16 Administration Functions By clicking on the “Administration” at the top of the page, you are taken to the administration selection screen where you can setup defaults for the system, create new users (depending on your version), create mail servers, and many other settings. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !17 System Wide Settings Use this screen to set up the system mail server used to send alerts, email campaign summaries, forgotten password request fulfillment. System Email This email address is used to send password recovery emails and other alert emails. Mail Server Settings The remaining mail server settings are just normal setting for mail servers. This mail server definition is separate from normal campaign email servers because the emails sent to this mail server are independent of any campaigns. Site-Specific Settings Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !18 Client Name (For Business Edition) You can change the Client name in this box which will be reflected on the administrative website pages. If you have a Standard Or Professional edition of Campaign Enterprise, the client is fixed by the license key. Contact Name/Email/Phone Number This is just for reference when it is appropriate for the administration to send correspondence. Allow External Email Lists (For Business Edition) By disabling this setting you can restrict clients from accessing external email lists and they must use the internal list system. Apply Default Email List Custom Fields When the user creates a new internal email list, you can apply the default email list custom fields. Allow Email List Custom Field Changes As as administrator you can restrict the user from making any changes or additions to the email list fields you have established. Make Summary Reports Detailed With this setting you can cause the system to add more verbose text to the campaign logs. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !19 Disable link checks (src and href) when running campaign With this setting you can disable Campaign Enterprise from checking the links in your email. This is not recommended because it is always best to make sure your links are good, but if the system you are running does not allow for external internet access or you have so many links in your email that it take too long to check them all then you do have the option to disable this feature. Email Summary Report SUCCESS Subject line You may modify the subject line for emails that are sent to users after an campaign send is complete. You can use the system merge field {%CAMPAIGN_NAME%} in this setting. Email Summary Report FAILURE Subject line You may modify the subject line for emails that are sent to users after an campaign send is complete. You can use the system merge field {%CAMPAIGN_NAME%} in this setting. View As Webpage Header If the View As Webpage option is turned on for a campaign, this HTML header is added to the top of each email sent out. This header should be simple, non-intrusive, and obvious. The reason this header is placed at the top of the email message is to make it easy to see if the email is not rendered correctly. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !20 ! Unsubscribe Footer HTML If the Enable Unsubscribe option is turned on for a campaign, this HTML footer is added to the bottom of each email sent out. This footer should be simple, non-intrusive, and obvious. This setting can be overridden on a campaign-to-campaign basis by using the {%UNUSUBSCRIBE_URL%} merge field somewhere in email message. Unsubscribe Yes HTML Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !21 This is the webpage that is presented to the email recipient confirming the unsubscribe action. This webpage can contain any information. It is suggested that this webpage has links to leave this webpage to your website or other location. Unsubscribe Confirm HTML This is the webpage that will be presented to the email recipient requesting to be unsubscribed. The webpage can contain any content, but there are some merge field you can use to include the unsubscribe functionality: {%CONFIRM%} which is replaced by a button used to unusubscribe (required) {%REASON%} which is replaced with a “;Reason”; dropdown box (optional) Reasons used are: Unspecified (if they choose not to select anything) No Longer Interested Never Signed Up If you use the {%UNSUBSCRIBE_URL%} link in your email you can add additional parameters if you want to show more data in the Unsubscribe Confirmation HTML page. Any parameters you add will be available for merging in the page: Example: {%UNSUBSCRIBE_URL%}&email={%%EmailAddress%%} in your email message will allow the {%%email%%} merge field available in the unsubscribe confirmation page This is also useful if you are planning on using your own unsubscribe page. Enable API (Business and Professional Editions) When you enable the API functionality this will open the Campaign Enterprise system to be accessed from outside systems. The API can be used to trigger events or request information. API calls are made via HTTP or HTTPS (HTTPS recommended) and should include a parameters for authentication, the command, and then any parameters. Results are sent back in JSON format. For more information on this subject, see the dedicated section on API in this document. User Management User List (For Professional and Business editions) When selecting User Management you will be presented with a user list page. From here you can create a new user, copy a user, delete a user, or add a user. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !22 User Edit Session Timeout You can select a timeout for individual users in minutes. The default is 10 minutes. You may want to increase this time if you are creating HTML messages inside Campaign Enterprise which usually requires more time. Windows Username If you want to by pass the normal Campaign Enterprise log in screen and rely on a Windows username, you can enter the username here. If the person is logged into a domain, the user information is passed along in the browser request. Campaign Enterprise will look for the proper header in the browser request, compare it with the Windows Username you enter here, and log them in without having to re-enter any authentication. Is Admin Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !23 You can mark a user as an admin which will allow them to enter the Administrator area and make system changes Allow Sender Queue Priority Changes If you limit the amount of threads a particular mail server is using, say 2 threads, and both are being used simultaneously, other campaigns can be submitted to the queue and will wait for one of the threads to finish. This setting allows this user to change priority of what is submitted from the queue to the sending thread. If you have campaigns running and some backed up, this user will be able to send a campaign with a priority. Disable Email List Access This setting will allow a user to select an email list when creating a campaign but they will not be able to enter the Email List administration area or modify any records within the email list. Group Assignments Selecting this tab will allow you to assign this user to a particular group. When assigning this person to a group you will be giving them permission to all the resources permitted for that group. Mail Servers Selecting this tab allows you to assign the mail server and mail server groups that this user is able to utilize. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !24 Public URLs Selecting this tab allows you to assign the public urls that this user is able to select. This is important if you are dealing with different clients that need different identifies. Bounce Domain Names Selecting this tab allows you to assign the bounce domain names that this user is able to select. This is important if you are dealing with different clients that need different identities. User Group Management This is where you can maintain a list of groups that you want to use. Groups are mainly created to give permissions to resources. Bounce Domain Name Management This area is where you would enter the Bounce Domain Names that you have established for your system. Each Bounce Domain Name should have a corresponding MX record in your DNS that should point to the Campaign Enterprise computer. The bounce processing system is set up to only respond to incoming emails that have this domain as part of their TO address, all other incoming emails are disconnected. Public URL Management This area is where you would enter the Public URLs that you have established in DNS to point to the Campaign Enterprise system. The Public URLs enter here should have a DNS record and the domain will have to be entered into the “Bindings” area on the cepublic IIS webserver. Campaign Category Management This area is where you would maintain predetermined categories that can be selected by campaigns. These categories can be sorted on. Mail Servers Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !25 This area is where you would establish all of the mail servers you want available to the Campaign Enterprise system. Each mail server will have connection settings, and the mail servers can also be tested here. You can assign permissions to users or groups. You can also set up mail servers that will throttle, and establish how many threads can be sent to the mail server at the same time. Mail Server Groups You can create a Mail Server Group and add pre-entered mail servers to be part of the group. When you send an campaign using a Mail Server Group, the email messages are partitioned off to mail servers within the group. When a mail server in the group is finished sending an email, it requests another email message from the queue. If a mail server in the group becomes unusable, Campaign Enterprise will “invalidate” that mail server for the remainder of that Campaign Send and will use the remaining Mail Servers. Email Footers This is where you can manage predefined email footers that your users can select as being part of a campaign. These foots might be a company privacy policy or a physical address and phone number of the company. Blackout Days Here you can establish company-wide policies of what day schedule campaigns can be run. In addition, all US holidays are show on the campaign’s calendar but are not blacked. Email Template Management This is where you can maintain a list of templates that users can draw on to start a new email campaign. You may have established formats for newsletters, announcement, and other messages. These may include logo, policies and other information that is a basis for a new email. Edit Help Info You will be able to edit the help menus in Campaign Enterprise from this area. You may want to edit the help area (the popups) so that you could put in your own company-specific information or policies. Unsubscribe Reasons Management This is where you can modify the reasons why people unsubscribe from a mailing. When using normal unsubscribe (not one-click unsubscribe), you have the option of adding a “Reason” box to the unsubscribe page and this is where the reasons will be shown. System Status This section shows the status of the Windows Services that support Campaign Enterprise. The four services are: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !26 CEMain - This service is the responsible for sending campaigns, launching scheduled campaigns, processing database updates for unsubscribes, open tracking, click tracking, and bounces. It also is responsible for routine maintenance functions on the database. CEBounce - This service monitors port 25 for incoming returned emails. The services acts as a receiving SMTP server for the bounce domains you specify in the Bounce Domain Management section. CEMailServer - This service is the pseudo mail server that is used for performance testing. If you do not plan on doing any performance testing this service can remain stopped. The service monitors port 1111 for incoming SMTP submissions from Campaign Enterprise. Email is received like any other mail server but no processing or storing is done which makes it faster than any other mail server. All emails send to this service are received but never relayed. CEQSend - This service is used to send “system” type emails that are not associated with any campaign. It is used to send alerts, email campaign summaries, forgotten password request fulfillment. This service relies on the Mail Server settings in the System-Wide settings to follow. System Functions This section is for reference and archive lookups. Sender Queue - The sender queue will list all of the campaign that are currently in the queue and/or sending. User Login List - This area will allow you to see the login activities of users. Send Message Log Lookup - This screen is used to lookup emails sent out of the system. If you need to find out what emails have been sent to a specific email address, this screen will allow you to look them up. Debugging This section is used to turn on and off debugging activities that are useful when trying to diagnose a problem with the Campaign Enterprise system. Severe errors that are generated will always appear in the trace logs. If you want more detailed debugging information to be recorded in these logs, turn on debug at the top. Warning: It is not recommend to leave debugging on for extended periods of time especially when sending large email list because the trace log files can become too big. By clicking on any of the trace logs you will be prompted to allow downloading of these file. The various log files are explained below: Admin Website Trace Log - This log is created by the activities of the administrative side of Campaign Enterprise concerning the website activity. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !27 Public Website Trace Log - This log is create by the activities of the public side of Campaign Enterprise concerning the website activities including click tracking, unsubscribes, and open tracking. CEMain Service Trace Log - This log is created by the activities of the CEMain service. Entries in the log will how sending problems and database update issues. Mail Sender Trace Log - This log is created by the sending system and shows the conversations that Campaign Enterprise mail sending system has with the designated mail server for the campaigns. Bounce Trace Log - This log is created by the CEBounce service and pertains to any errors that happen in reference to accepting and recording bounced emails in the database. Trace Log Purge - Use this link to initiate the purging of all log files. When debugging a specific issue, it is good to purge all the log files first, then cause the issue to happen, then download the specific log file that the errors would occur in. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !28 Email List Administration Email List “List” The email list will contain email lists that either belong to you or you have been given permission to manage. Email List Edit Clicking on the List Name will cause the email list editor to appear. For internal email lists you will be able to edit any records in the list. If you are using an external email list, you may or may not be able to edit due to limitations of the external list connection. Most of the time, if you just specify a Table in your external email list, you will be able to edit records if you have permission of your database security. If you connect to your external email list with an SQL statement or with a stored procedure you will be able to view email records but not edit them. You can edit records on this grid, or if you hit the small edit icon you can edit record in a form view: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !29 Email List Configuration If you click on the small sprocket for the email list you will be able to edit the configuration of the email list. The configuration screen will look different depending on if the list is Internal or External. For Internal Lists: ! Email List Name This email list name should be used to uniquely identify the email list. Add New Data Field Internal Email Lists have several required data fields that are included at the time the email list is created. To add additional information to your email list click Add New Data Field, name the field with no spaces in the name, and select the datatype. Bounce Domain Name A “bounced” email means an email could not be delivered to the recipient, for various reasons, and it is returned to the origin Mail Server. Campaign Enterprise can act like it is this origin Mail Server by using this customer domain name you supply. Campaign Enterprise uses VERPs (<a href="http:// en.wikipedia.org/wiki/Variable_envelope_return_path" target="_blank">Variable envelope return path)</a> to deal with these emails. When a email are sent from Campaign Enterprise the “;ReturnPath”; email address used is unique to that recipient so that when the bounced email is returned it can be identified to that recipient. The return-path address the Campaign Enterprise generates may look like this: [email protected] The first part of the email (to the left of the @ sign) is an encoding of the unique ID of the recipient, the campaign ID, and the recipient email address. The domain part of the email (to the right of the @ sign) is what you specify in this field. This domain name needs to be established in your DNS system for the domain you are using that “;points back”; to your Campaign Enterprise computer. This entry in DNS is called an MX record. We recommend that you create a subdomain or your main domain name Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !30 so that these bounced emails will exist with your normal email domain. For instance, if you normal email domain is yourdomain.com, then make a subdomain called bounceproc.yourdomain.com and use this for Campaign Enterprise. Note: In order for Campaign Enterprise to process bounced emails, port 25 needs to be opened. The Campaign Enterprise computer will listen on port 25 for traffic on that port. If you already have an SMTP server running on the Campaign Enterprise box, then you will have to use a different IP address than that used by the current SMTP server. Email List Permissions As the owner of the email list you have the ability to assign who can access your list. Security can be set on a user or group level. Only the owner of the email list has the ability to change the email list security. Add New Data Field If you click on this button you will be able to create a new data field in your internal email list: Field Name Field Names are recommended to be letters, numbers, a dash (-) or underscore (_). Spaces and other characters can be used but since SQL statements reserve certain characters for special functions, like quotes or ampersands (@), it is best to avoid using them. Field Type The field type should be used that describes your data in the best way. This is mentioned because sometimes using a Text type instead of a number type is preferred especially in the case of a zip code that has a leading 0. Phone numbers are usualy text types as well. Text - Any characters can be used in this field type Number - Any integer ranging from -2,147,483,648) to 2,147,483,647 Date/Time - Any date ranging from January 1,1 AD through December 31, 9999 AD Money - Any number from -922,337,203,685,477.5808 to 922,337,203,685,477.5807 with 4 digits behind the decimal point precision Notes - This is a text field that is unlimited in size, but it is not searchable like a Text-type field Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !31 Field Size Field “size” only pertains to a Text-field type. Setting this number to the maximum size of the text to be entered will save storage space for large tables. For External Lists: ! Email List Name - This list name is used in a Campaign when you are selecting the email list. If you change the email list here, it will change it for all the Campaigns it is connected to Database Connection - A database connection is a set of instructions that allows Campaign Enterprise to connect to external lists. You can select a Database Connection here. If you click “Edit” you are able to make changes to the database connection. Clicking “Edit” without selecting a Database Connection then you will be prompted to create a new one. Record Source Types The Record Source Type establishes how records from your database are retrieved. There are 3 different methods: Table - By selecting a table Campaign Enterprise will have the ability to access all data fields in the table and also be able to use all the records in the table. This selection give Campaign Enterprise more flexibility with list filtering, obtaining record counts efficiently, and proper updating of bounce and unsubscribe information. SQL Statement - Using this setting you can use any SQL statement to obtain records. You can limit the data fields to be used, perform special filtering, even set up an order. This SQL statement is directly sent to your database server to be executed. It is recommended that you optimize this statement to not exceed 10 minutes of execution time. Campaign Enterprise will attempt to do a record count for your SQL statement but it may not be able to or timeouts may occur. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !32 Stored Procedure - This setting is similar to the SQL Statement setting but it gives Campaign Enterprise more specific information about the request being made. Be sure your Stored Procedure returns a recordset ultimately with fields that can be used by Campaign Enterprise. Stored Procedures are useful for many reasons including the grouping of multiple tasks together, security on data where the database administrator can allow only access to specific information without direct access to tables, etc. UniqueID Enter the column name in your database for the unique ID. If you unique ID column you are using is non-numeric in nature, then check the “Is Non-Numeric” box. ! Identity field types are typically used in order to generate a unique number for the record. Email Address Field Enter the column name of the Email Address. Since your email address field could be named in any way you want, it is required that you enter this column name so Campaign Enterprise can identify which column in your table to use for the TO addresses. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !33 Bounce/Unsubscribe Processing Tab Bounce processing can be performed on external email lists using the Bounce SQL Statement below: Bounce SQL Statement (Note: This feature is only available when you are using an External Email List) This SQL statement is executed when a bounced email is received. The system merge fields available in your SQL Statement are: {%UNIQUE_ID%} - This is the unique ID {%CAMPAIGN_ID%} - This is the campaign ID found in the tblCampaigns table {%EMAIL_ADDRESS%} - This is the original email address that was used for the recipient {%BOUNCE_DATE_TIME%} - The date and the time the bounce occurred {%BOUNCE_TYPE%} (if used see Bounce Types below for useage) {%CAMPAIGN_RIID%} - This is the Run Instance ID of the campaign {%CAMPAIGN_NAME%} - This is the campaign name text {%MESSAGE_TEXT%} - This merge field will contain the original message text that was returned (bounced). For this merge field to return this message text you will need to turn a ceconfiguration.txt switch to instruct the system to store this message text optional information. Here is the switch you can add or edit in the ceconfiguration.txt file found in the ce12\system folder. <EnableBounceMessageTextStorage>ON</EnableBounceMessageTextStorage> Example: update tblYourTable set Bounced=1,BouncDateTime=’{%BOUNCE_DATE_TIME%}’ where UniqueID={%UNIQUE_ID%} Assuming you have a boolean or integer field called “;Bounced”; and a date field called “BounceDateTime”. Notice the single quotes around date/time merge field which is usually required for assigning SQL date/time values. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !34 Bounce Types Any bounce that is received into Campaign Enterprise is recorded. Some bounces may be considered “hard bounces” where a permanent failure was detected and there is no hope of sending to this email address again. The remaining bounces that are not found to be hard bounces are usually termed “soft bounces” which could just be responses to a full mail box or a vacation message. When the bounces are received into Campaign Enterprise they are categorized based on an analysis of the returned email content. Some returned emails are of a “good format” and are easily recognized as hard bounces, while other returned emails may have just human-readable text in them. Below is the “BOUNCE_TYPE” number that will be returned in the {%BOUNCE_TYPE%} merge field when this analysis is done: 1 - Hard Bounce - The email could not be delivered and can be ignored in the future (500 series error) 2 - Soft Bounce - A temporary condition exists causing the email delivery to fail. 3 - General Bounced Mail - Cannot determine if it is hard or soft, and the internal email address could not be determined. 4 - General Bounced Mail - Cannot determine if it is hard or soft, but an email address is available. 5 - Mail Block - A bounce occurred because the sender was blocked. 6 - Auto-Reply/Out-of-Office email - An auto-responder answered (may not occur as a bounce) 7 - Transient message - Such as "Delivery Status / No Action Required". 8 - Subscribe request - This can happen if you send to a mailbox that is locked until you respond manually 9 - Unsubscribe request - This can happen if a request is made to unsubscribe 10 - Virus email notification - Your email was detected to have a virus 11 - Suspected Bounce - But no other information is available 12 - Challenge/Response - Auto-reply message sent by SPAM software where only verified email addresses are accepted. 13 - Address Change Notification Messages - If an address changes and a new one if provided 14 - Success DSN - Indicating that the message was successfully relayed. 15 - Abuse/fraud feedback report Many of these bounce types are of no use to a mass emailing system because of the shear quantity, but you can record these types if needed. The bounce analysis system in Campaign Enterprise will change over time as new email formats are discovered and categorized. Since there is not standard return format for bounce emails analyzing these emails turns out to be an “art”. Overall, a {%BOUNCE_TYPE%} of “1” is most significant because the email returned was found to be a definite hard bounce. If you create an SQL Statement that updates your data when a bounce occurs, be sure to use the {%BOUNCE_TYPE%} so you can determine the nature of the bounce and filter your data appropriately. VERY IMPORTANT - Please read this about the {%BOUNCE_TYPE%} merge field! When the {%BOUNCE_TYPE%} merge field is NOT used, it is assumed that only hard bounces will trigger the bounce SQL Statement you have entered since. If you choose to use the {%BOUNCE_TYPE%} merge field for recording the exact number, the SQL Statement will be executed for every returned email regardless of its returned bounce type. If you record this bounce type and then run subsequent campaigns based on this information, you may not want to send to records that have a {%BOUNCE_TYPE%} of “1”. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !35 Here would be an example of a bounce SQL Statement when using the {%BOUNCE_TYPE%} merge field: update tblYourTable set BounceType={%BOUNCE_TYPE %},BouncDateTime=’{%BOUNCE_DATE_TIME%}’ where UniqueID={%UNIQUE_ID%} Bounce Column Name For an external email list, when you are using a normal Table for the recordsource, Campaign Enterprise has the ability to utilize a bounce column for filtering of outgoing emails and reporting. In order for Campaign Enterprise to accomplish these tasks, a boolean-type Bounce Column name needs to be entered. Note: When using an SQL statement or Stored Procedure this feature is not available. Unsubscribe Column Name When you create an internal email list, the boolean type unsubscribe field is created automatically. If you decide to use an external email list, you will need to add the field to your table. A boolean field will indicate whether the person is unsubscribed or not. This field is used to filter out those records that are unsubscribed. To record additional information to your external database, a SQL Statement or Stored Procedure may be used. Note: When using an SQL statement or Stored Procedure the boolean unsubscirbe feature is not available. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !36 Campaign Administration Usability & Terms The following is an explanation of some of the terms you will see in the documentation to follow. Merge Fields - The merge field designations in version 12 have change from previous versions of Campaign Enterprise in order to expand the merging capabilities to include programmable functions. The two major categories are: Database Field Merge Fields - The use of the brace and single percent symbol is used to designate a database field merge, for example {%FirstName%}. The merge field name here must match the database field name and is case-sensitive. Built-In or Calculated Merge Fields - The use of the brace and double percent symbol can be used to designate a built-in merge. For example,{%%CAMAIGN_NAME%%} would be replaced by the Campaign Name that sent the email. The {%%...%%} can also be use for the calculated merge fields which are explained later. Logging In To Campaign Enterprise Start up a browser and type in the URL you established for your administrative website. For a new Campaign Enterprise installation, the default username is [email protected] and the password is adminadmin (case-sensitive). Be sure that you change the username and password as soon as possible in the Administration area. On this screen you also have the ability to have your password sent to the email address you enter if it exists. Campaign List/Main Menu After logging in, you will be presented with the list of Campaigns that you own or are given permission to use. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !37 Sign-Out - Clicking this link will log you out of Campaign Enterprise. You will also be signed-out when you do not have any activity, like moving from page to page. This inactivity (or session) timeout can be set on a user-by-user basis in the User Management area in Administration. Alerts - Clicking this link will take you to the alerts listing for your account. In this list you will see all the recent alerts that happened for your account. Alerts can be informational or errors. When an error type alert is created, the Alerts link with turn red and pulsate to draw attention. Email Lists - Clicking this link will take you to the Email Lists for your account. You will see email lists that you own yourself and email lists that you have been given permission to access. Administration - Clicking this link will take you to the Administration screen which will have more options described later in this document. You will only see this link if your username has been designated as an Administrator. Help - Clicking this link will take you to a generalized help screen with an opportunity to send a request for help, submit a new idea, or chat with our staff online. There is no index for help but throughout the program there are small blue help buttons, in context, where you can obtain information specific for the element you are interested in. New Campaign Clicking on a new campaign you will be presented with a screen to create a new campaign. After entering the name, you will be presented with the Campaign Edit Screen. Delete and Archive Buttons Below the “New Campaign” button you will notice the two buttons that are used for Delete and Archive. To use these buttons, selected the campaigns you intend to delete or archive in the list using the checkboxes and click on the button. It will confirm your action with a verification popup box. Buttons On The Campaign Listing Lines On the listing of Campaigns there are several clickable area and buttons. Campaign Name - By clicking on the campaign name you will be taken to the campaign edit screen. Run Count Number - Clicking on this will take you to the “Run Instances” list where there is a list of each time this campaign has been run with statistics. If the campaign is set to be a normal scheduled Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !38 or one-time sending campaign, then the number times the campaign has been run will be shown. If the campaign is set as a repeat-interval campaign where it run every X amount of time, then you will see a cycle icon like this will be shown for that campaign. Since this campaign could possibly run many times over and over the last run instance record will be used to record the campaign run activity. Campaign Edit - Clicking this icon will allow you to edit the campaign. Campaign Copy - Clicking this icon will allow you to copy this campaign. You will be presented with a popup box to name your new campaign, then you will be taken to the normal edit screen. Reports - Clicking this icon will take you to the Run Instances list for the campaign where you will be able to run reports for the overall campaign or a specific run instance of the campaign. Calendar/Scheduling - Clicking this icon will take you to the calendar scheduling system for this Campaign. Run Campaign - Clicking this icon will run the campaign. Scheduling/Calendar When you click on the calendar icon for a campaign on the campaign list screen you will be presented initially with the calendar below: Schedule Type - There are two types of schedule modes, Campaign Scheduling and RepeatIntervals. Campaign Scheduling allows you to set the campaign to run one-time on a certain day at a certain time, or repeat each week on that day of the week at a certain time. Repeat-Intervals are Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !39 where you can run a campaign every X amount of time. The calendar above will be shown when the Schedule Type is set to “Campaign Scheduling”. Examining the calendar, the color of the day boxes are: Grey - Days in the past Green - Today Black - Days that have been entered into the Blackout Days area in Administration White - Days you can schedule a campaign to run Within the day boxes there will be the events that are happening. Yellow - US Holidays Blue - This is a one-time scheduled event Red - This is a repeated day and time event You can schedule the campaign to run by first clicking on the day you want it to run. You will be presented with a popup box to fill in the details: You can give the scheduled event a name, and select the time. If you check the Repeat box, then the campaign will run each day of the week at the designated time until you turn it off. Once you hit “Save”, the event is put onto the calendar. If you need to modify or delete the scheduled event, then click on the event in the calendar, you will be given this popup box again, and you can change or select delete. When you switch the Campaign Type to “Timed-Intervals”, then you are presented with this screen. You can set the time interval you want, enable or disable this action. Using Timed-Intervals for campaigns is most useful in monitoring a database for events and then sending a campaign based on Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !40 those events. For example, you may set up a campaign Timed-Interval to run every 5 minutes to monitor new signups on your website so you can send them an informational email. Note: If you want to run a campaign everyday at a certain time, you will have to switch to the calendar scheduling, create a schedule for the day and time you want to run the campaign, then click the “repeat” check box. Campaign Edit Screen When you click on a campaign to edit, you will be presented with the Campaign Edit screen below: ! From Name The From Name field is optional but should be used so that the recipient will see a formal name instead of just an email address alone. You can use a merge field in this area if you have a field name in your table, corresponding to a from name, {%%FromName%%} for example. From Email The From Email address, in conjunction with the From Name field, will indicate who the message appears to be from. This field contains the actual email address. If you do not have a separate Reply To address field selected, any replies to the message will go to this address. Using a merge filed {%%FROMEMAIL%%}, (where FROMEMAIL, would be the field name in your table corresponding to the sender), can help you personalize the From Name. Email List (To) Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !41 Select the list of email addresses to whom you want to send this campaign. If you do not have a list available, you can create one in the Email List area. If it appears you cannot create a list, please contact your company’s Campaign administrator. Email List Filters Email List Filters are used to select certain email recipients based on specific criteria. These filters maybe in combination with other filters at the email-list level. There is one merge field you can use for a value and that is {%CAMPAIGN_ID%}. For Internal email lists, these filters will work without any other configuration. For external email lists, there are some conditions that apply. If you Email List record source type is set to: Table - Nothing else required, you can use the filters in the campaign because with having just the table name we are able to “predict” the structure of the WHERE section of the SQL statement that is used to collect the email records SQL Statement or Stored Procedure - When using the record source type the structure of the SQL Statement you use is not predictable. You may already have a WHERE in your SQL Statement and applying the filters at the Campaign level it not possible. To compensate for this, and to give you maximum control, if you use an SQL Statement or a Stored Procedure, use the built-in custom field called {%CAMPAIGN_FILTER%} in your SQL statement so you can properly construct the logic you want to achieve. For example, your SQL statement may look like this: SELECT * FROM tblYourTable WHERE CompanyID=1 AND {%CAMPAIGN_FILTER%} During sending, the {%CAMPAIGN_FILTER%} merge field in your SQL Statement will be replaced by the filter logic that was being applied in the Campaign itself. If no filter is selected in the campaign, the the {%CAMPAIGN_FILTER%} Reply To Field The Reply To field can be used if you want any replies to go to a specific email address. By default, replies go to the From Address, but if that is an unmonitored account, you might want to set up a separate Reply To address for customer service. Using a merge field for the Reply To, {%%ReplyTo% %}, is an effective way to get your customers to their assigned representative, if that is your business model. In this example, the ReplyTo field needs to be included in your database, and populated with an email address. CC Field CC (Carbon Copy) is offered but of limited use in Campaign Enterprise since each recipient already receives a personalized email. There are some instances where CC might be useful. For example, if you sent out individualized statements but what yourself to receive a copy of each one that goes out Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !42 AND show that you (or others) received the same email. Then using your email address in the CC field would accomplish that requirement. BCC Field The BCC (blind carbon copy) field allows you to send a copy of the email to anonymous accounts. One of the tricks you use to send out mass emails with Outlook or some other email client is to send the email to yourself and then use BCC (Blind Carbon Copy) to send to all the other people you want to get the email without the recipients see all the email addresses to whom you send. This field is not used very often because the whole point of Campaign Enterprise is to send out emails to recipients without have to use BCC. We do not recommend using this feature unless you understand that a raw email address listed here will receive a copy of every email that goes out. If you have 10,000 in your list, an address listed here will receive a copy of each one. There are two reasons you might use a BCC field. You have a bcc field in your table, that is populated with an address to which you want to receive a copy. You are required to track and save each email that goes out, for financial or tax reporting reasons. If you are tracking ever email that goes out, you might want to ensure you have a mail account large enough to handle the capacity. Attachments You can attach files to your email, but these may be limited by the email server through which you are sending. Attachments will slow your email blast considerably. For large files, we recommend posting those on a website with a link where they can be downloaded instead. Options Screen After hitting the Options button, you will see this screen: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !43 General Campaign Name Enter the name of the campaign that will be used to identify the campaign. Notes This are is just for your reference Categories Select a category from the drop-down box. Categories can help you find campaigns in the main menu when you have a large number. Categories are created by the Campaign administrator. Footer Select a footer to attach to the bottom of the message. These are set up globally and can be selected from the drop down menu when available. These are frequently legal statements, disclaimer, or other information that you want to standardize for all your emails. Message Type You can select the message type to be: - HTML & Autosync Plain Text - HTML & Manual Plain Text - HTML Only - Plain Text Only Summary Report Email When the campaign is completed the run log will be sent to the email address you enter here. Sample Email Address When the campaign begins the first email that is sent to a recipient will also send a copy of the email to the email address you specify here. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !44 Sending Mail Server Choose the mail server you want to use to send the email. You may have different email connections for different purposes or clients that need their own mail server. If you have no mail servers to choose from, contact the Campaign administrator to set one up or get permission to. Detect and Skip Duplicate Email Addresses If your email list has known duplicate email addresses you can turn this feature on to avoid sending the same email more than once. De-dupe check does affect sending performance for lists above 50,000. We recommend de-duping your list as you import or add email addresses. SQL Write-back During Send (Note: This feature is only available when you are using an External Email List) The SQL Write-back feature allows you to run an SQL statement after each email is sent. This can be useful to mark in your database that an email has been sent either by setting a boolean flag, a date, etc. Any SQL statement will work by using special merge fields that describe information about the recipient currently be sent to. The merge fields are: - Any field you have in your original SQL statement between the database merge field delimiters, ie {%%FirstName%%} - Any of these system merge fields: {%CAMPAIGN_ID%} - The Campaign ID if needed to reference the original information in the tblCampaigns table {%CAMPAIGN_RIID%} - The Campaign Run Instance ID found in the tblCampaignRunInstances table {%UNIQUE_ID%} - The unique ID of the recipient {%EMAIL_ADDRESS%} - Email address of recipient {%CAMPAIGN_NAME%} - The Campaign name being run {%MESSAGE_TEXT%} - The MIME text of the message, be sure to format to allow for termination of this string value in your SQL statement {%ABMESSAGE%} - If you are using A/B Messaging then this value will be 0 for the A message and 1 for the B message {%FROM_EMAIL_ADDRESS%} - The FROM email address defined in the campaign {%FROM_NAME%} - The FROM NAME defined in the campaign Since an SQL statement is run between each email it will affect performance waiting for the SQL statement to complete. This feature is only available with External Email lists. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !45 Response Events View As A Webpage Enable this feature to create a link at the top of your email message on which the recipient can click and view the message on a webpage. This is useful if the HTML is unviewable in the recipient’s email client. Contact your Campaign administrator if this feature is not available to you. Open Email Tracking The Open Email Tracking feature places a small 1x1 pixel tracking image reference in the HTML portion of your email. An image that small is not displayed, but a request for the image will be made against the Campaign Enterprise server. The image request is embedded with information on the recipient and recorded by Campaign. This feature will only work if the recipient allows the image reference to check in with the Campaign Enterprise computer. A recipient who turns images off, will not record an open. Open Tracking SQL Statement (Note: This feature is only available when you are using an External Email List) You can specify what you want done when an open event occurs using an SQL statement. You can use any valid SQL statement and use the available system merge fields: {%CAMPAIGN_ID%} - The Campaign ID associated with the email sent out {%UNIQUE_ID%} - Then unique ID of the email recipient {%IP%} - The IP address the open tracking occurred from {%OPEN_DATE_TIME%} - The date and the time the open event occurred {%EMAIL_ADDRESS%} - The original email address used to send the email {%TABLE_NAME%} - If you are using a table record source type in your email list then this merge field will contain the valid table name {%CAMPAIGN_NAME%} - The name of the campaign that generated this open tracking event Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !46 Examples: update tblYourTable set LastOpenedDateTime=’{%OPEN_DATE_TIME%}’ where UniqueID={%UNIQUE_ID%} or insert into tblOpenTrackingLog (CampaignID,UniqueID,IPAddress,OpenedDateTime) values ({%CAMPAIGN_ID%},{%UNIQUE_ID%},’{%IP%}’,’{%OPEN_DATE_TIME%}’) NOTE: The single quotes around the merge fields above for the IP address and the open date/time. You will need to include these quotes for any date/time or string type database field. This feature is only available when you are using an External Email List. Enable Unsubscribe Enable this feature to attach an unsubscribe footer to each email. If you want to place the unsubscribe link elsewhere in your message, add the {%UNSUBSCRIBE_URL%} to your message where you want the link to appear. If this merge field is found in the body of the HTML, the footer will not be applied. When the recipient clicks on the unsubscribe link in your email, they are redirected to the Campaign Enterprise unsubscribe page as defined by the Campaign administrator. If you use your own manual {%UNSUBSCRIBE_URL%} merge field, you can include parameters that will be passed onto the unsubscribe webpage. For example, if you use a link like this: <a href=“http://{%UNSUBSCRIBE_URL%}&FirstName={%%FirstName%%}”>Click Here to Unsubscribe</a> then the FirstName merge field can be used in the Unsubscribe Webpage, like this: “We are sorry you have chosen to unsubscribe {%%FirstName%%}, thank you for your time” Enable One-Click Unsubscribe In some instances, you may want to allow the recipient to unsubscribe without having to confirm the request. When one-click unsubscribe is enabled the recipient will click the link in the email, which checks in with the Campaign Enterprise server, and they will be unsubscribed. The confirmation message is configured by the Campaign administrator. Unsubscribe SQL Statement (Note: This feature is only available when you are using an External Email List) When an unsubscribe event occurs the SQL statement you specify here will be executed. You can use any valid SQL statement and use the available system merge fields: {%CAMPAIGN_ID%} - The ID number for the campaign {%UNIQUE_ID%} - The unique ID associated with the email that has been opened {%IP%} - The IP address that the open was triggered from Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !47 {%UNSUBSCRIBE_DATE_TIME%} - The date and time the unsubscribe occurred {%ABMESSAGE%} - Will be replaced by a “A” or a “B” {%EMAIL_ADDRESS%} - The original email address used to send the email {%UNSUBSCRIBE_REASON_ID%} - The ID of the unsubscribe reason found in the the tblUnsubscribeReasons table {%UNSUBSCRIBE_REASON%} - The text of the unsubscribe reason selected by the recipient {%TABLE_NAME%} - If you are using a table record source type in your email list then this merge field will contain the valid table name {%CAMPAIGN_NAME%} - The name of the campaign that generated this unsubscribe event Examples: update tblYourOriginalTable set Unsubscribed=1,LastOpenedDateTime=’{%UNSUBSCRIBE_DATE_TIME%}’ where UniqueID={%UNIQUE_ID%} or insert into tblUnsubscribeLog (CampaignID,UniqueID,IPAddress,Unsubscribed,DateTime) values ({%CAMPAIGN_ID%},{%UNIQUE_ID%},’{%IP%}’,’{%UNSUBSCRIBED_DATE_TIME%}’) NOTE: The single quotes around the merge fields above for the IP address and the open date/time. You will need to include these quotes for any date/time or string type database field. Public URL The Public URL setting is campaign-specific and is used for all the the links in the email including unsubscribes, open tracking, and click tracking. The Public URL you set should “point back” to the Campaign Enterprise server so that the links in the emails are properly resolved. The Public URL should have a different domain than your administrative URL to avoid hackers trying to get into the Campaign Enterprise system. To establish a Public URL, find the external IP address for your Campaign Enterprise computer, go into the DNS management system for your domain, and create an “;A”; or “;CNAME”; record for that domain. Usually a sub-domain is best. For example: If your normal website is http://arialsoftware.com or http://www.arialsoftware.com, you can create a sub-domain called http://ce-public.arialsoftware.com and have that point to the external IP of the Campaign Enterprise computer. In the IIS webserver be sure to add this new domain to the list of domains the webserver will recognize and let the request through. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !48 Advanced Custom Header The custom header section allows you to add headers to your email. Each line should be a label/ value pair separated by a colon (:). You are allowed to use database merge fields here. Enable WYSIWYG Editor WYSIWYG stands for What You See Is What You Get, and indicates that your message should appear in the email client, the way you see it in your editor. Different email clients treat HTML differently, and sometimes in ways you do not expect or want. It is best to base your email design on the way different email clients display your message. The editor in Campaign Enterprise is great for many things and can be used to effectively manage the content of your email message. There are times though when the editor may auto-correct your HTML code (which cannot be disabled using an online editor) and this may not be acceptable. In that case we recommend turning off the editor and pasting your HTML code directly in the system. By unchecking the built-in editor, Campaign Enterprise will send the HTML message verbatim and will not modify it in any way. Enable A/B Messaging By checking this box you are turning on the capability of sending two different renditions of an email in an alternating fashion during sending. Turning on this feature also causes another HTML tab to appear back on the Campaign editing screen. Enable Message Sent Log Turning of this feature will cause the system to store a copy of every email that is sent out of the system. This should not be used for large email sends because the database will become bloated Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !49 and performance will be diminished. If you do use this feature, make sure you are using a full SQL Server so that you will not run into the 10GB volume limit of SQL Express. Character Set Override Use this setting to specify the Character Set you want to use. In most cases, Campaign Enterprise will choose the appropriate character set for you so you don’t have to make any changes. Character Set changes are primarily used to international languages or languages that require double-byte character sets (ie. Chinese, Japanese, Cyrillic). Some common Character sets are: UTF-8 ISO-8859 Series ISO 8859-1 Western Europe ISO 8859-2 Western and Central Europe ISO 8859-3 Western Europe and South European (Turkish, Maltese plus Esperanto) ISO 8859-4 Western Europe and Baltic countries (Lithuania, Estonia, Latvia and Lapp) ISO 8859-5 Cyrillic alphabet ISO 8859-6 Arabic ISO 8859-7 Greek ISO 8859-8 Hebrew ISO 8859-9 Western Europe with amended Turkish character set ISO 8859-10 Western Europe with rationalized character set for Nordic languages, including complete Icelandic set There are many other character sets you can use. For more information about character sets <a href="http://en.wikipedia.org/wiki/Character_encoding" target="_blank">click here</a>. Embedded Images In Email Select this option if you want to embed the images in the message. The image is encoded into the message as specialized attachments that are displayed in the email without having to go request the images from an outside server. Though sometimes useful, we do not recommend using embed images because: • It makes the email message itself very large. • Information shown it images cannot be analyzed by SPAM filters to many times the email will just get marked as SPAM • Many email clients handle these embedded images differently so the success rate is not 100% If you do need to use this feature keep images small to prevent from being marked as SPAM. Also, if you just have one big image instead of text it will most likely be rejected. Keep at least half your webpage readable text. Digitally Sign Email You can use this feature to digitally sign your email so that recipients can digitially verify your email address. The SSL certificate applies to the From email address and is stored and managed on your server. We do not supply, troubleshoot, or manage your SSL certificate. Talk to your Network administrator for setting one up if you feel you need this feature. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !50 Encrypt Email This encrypt feature is rarely used because it requires you to obtain a public secure key for each recipient. If you need to send secure emails to a limited amount of recipients this feature is available. Is Template Checking this box will allow you to show this campaign as a selectable template when you are creating a new campaign. Permissions Owner The owner of the campaign is listed here. If you are the owner or an administrator you are allowed to change the owner of this campaign. Campaign User Permissions As the owner of the campaign you have complete control of your campaigns. To allow other individuals to have control you can add their username to the list of approved users. Only the owner of the campaign can set permission for the campaign. Campaign Group Permissions As the owner of the campaign you have complete control. To allow other groups to have control you can add a group to the list of approved groups for this campaign. Only the owner of the campaign can set permission for the campaign. Actions Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !51 Actions are a new feature that allows you to do an array of different actions triggered by certain events. You can use this feature to do some of the following: - Run a campaign after this one completes (chaining) - Execute an SQL statement when a campaign starts - Send an HTTP POST to a URL when a click tracking event happens - Many more… Add Action Item By clicking this button, you will be presented with a screen that you use to add an action item. First you will be asked to select the “Event”: After selecting the “WHEN” event, you will be asked what you want to do when the event happens: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !52 After selecting the “ACTION”, you will be presented with the parameters needed for that action. Some examples are: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !53 NOTE: Some “Events” will only have particular “Actions”. For instance, an open tracking event will not let you launch a campaign. Here is a matrix of the merge fields that are available for various different Event/Action types: Execute SQL Send Email Execute HTTP Get After Campaign Completes %CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%CAMPAIGN_NAME%} {%SENT_COUNT%} {%SKIP_COUNT%} {%BAD_EMAIL_ADDRESS_COUNT%} {%TABLE_NAME%} %CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%CAMPAIGN_NAME%} {%SENT_COUNT%} {%SKIP_COUNT%} {%BAD_EMAIL_ADDRESS_COUNT%} %CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%CAMPAIGN_NAME%} {%SENT_COUNT%} {%SKIP_COUNT%} {%BAD_EMAIL_ADDRESS_COUNT%} Open Tracking Event %CAMPAIGN_ID%} {%CAMPAIGN_RIID% {%UNIQUE_ID%} {%IP%} {%OPEN_DATE_TIME%} {%EMAIL_ADDRESS%} {%TABLE_NAME%} Click Tracking Event {%CAMPAIGN_ID%} {%CAMPAIGN_RIID% {%CLICK_TRACKING_ID%} {%UNIQUE_ID% {%IP%} {%CLICK_TRACKING_URL%} {%CLICK_DATE_TIME%} {%SENT_DATE_TIME%} {%ABMESSAGE%} {%EMAIL_ADDRESS%} {%TABLE_NAME%} Bad Email Format Event {%CAMPAIGN_ID%} {%UNIQUE_ID%} {%EMAIL_ADDRESS%} {%TABLE_NAME%} Unsubscribe Event {%CAMPAIGN_ID%} {%UNIQUE_ID%} {%IP%} {%UNSUBSCRIBE_DATE_TIME%} {%ABMESSAGE%} {%EMAIL_ADDRESS%} {%UNSUBSCRIBE_REASON_ID%} {%UNSUBSCRIBE_REASON%} {%TABLE_NAME%} {%CAMPAIGN_ID%} {%UNIQUE_ID%} {%IP%} {%UNSUBSCRIBE_DATE_TIME%} {%ABMESSAGE%} {%EMAIL_ADDRESS%} {%UNSUBSCRIBE_REASON_ID%} {%UNSUBSCRIBE_REASON%} {%CAMPAIGN_ID%} {%UNIQUE_ID%} {%IP%} {%UNSUBSCRIBE_DATE_TIME%} {%ABMESSAGE%} {%EMAIL_ADDRESS%} {%UNSUBSCRIBE_REASON_ID%} {%UNSUBSCRIBE_REASON%} Hard Bounce Event {%UNIQUE_ID%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%EMAIL_ADDRESS%} {%MESSAGE_TEXT%} {%BOUNCE_DATE_TIME%} {%TABLE_NAME%} {%UNIQUE_ID%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%EMAIL_ADDRESS%} {%MESSAGE_TEXT%} {%BOUNCE_DATE_TIME%} {%UNIQUE_ID%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%EMAIL_ADDRESS%} {%MESSAGE_TEXT%} {%BOUNCE_DATE_TIME%} Soft Bounce Event {%UNIQUE_ID%} {%BOUNCE_TYPE%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%EMAIL_ADDRESS%} {%MESSAGE_TEXT%} {%BOUNCE_DATE_TIME%} {%TABLE_NAME%} {%UNIQUE_ID%} {%BOUNCE_TYPE%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%EMAIL_ADDRESS%} {%MESSAGE_TEXT%} {%BOUNCE_DATE_TIME%} {%UNIQUE_ID%} {%BOUNCE_TYPE%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%EMAIL_ADDRESS%} {%MESSAGE_TEXT%} {%BOUNCE_DATE_TIME%} Before Campaign Starts {%CAMPAIGN_NAME%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%CAMPAIGN_NAME%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%CAMPAIGN_NAME%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} N/A {%EMAIL_ADDRESS%} {%CLICK_TRACKING_URL%} N/A %CAMPAIGN_ID%} {%CAMPAIGN_RIID% {%UNIQUE_ID%} {%IP%} {%OPEN_DATE_TIME%} {%EMAIL_ADDRESS%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID% {%CLICK_TRACKING_ID%} {%UNIQUE_ID% {%IP%} {%CLICK_TRACKING_URL%} {%CLICK_DATE_TIME%} {%SENT_DATE_TIME%} {%ABMESSAGE%} {%EMAIL_ADDRESS%} {%CAMPAIGN_ID%} {%UNIQUE_ID%} {%EMAIL_ADDRESS%} ACTION NOTES: - The Run Campaign Action has no parameters and is not included in the grid because it only works with the “Before Campaign Starts” event and the “After Campaign Completes” event - The Execute HTTP Post has no merge fields but sends all merge fields that are in the Execute HTTP Get but form fields Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !54 Click Tracking Campaign Enterprise allows you to track any links you have in your emails by replacing the links with a new links that directs the request back to the Campaign Enterprise system. In order for this to happen, if your computer is behind a firewall you will have to enable port-forwarding for port 80 to the IP address on the Campaign Enterprise system computer. Preparing Click Tracking Links In Your Email The links in your email can merge fields from the database you are using. For example, you might have a link like this: <a href=”http://arialsoftware.com?cid={%%CustomerID%%}”>Click Here</a> Is this case, the {%%CustomerID%%} database field will be replaced with the proper data in your database and the time the email is sent. You can also use the {%CAMPAIGN_ID%} system field in click tracking URLs if you need the Campaign ID. Open Click Tracking When editing a message clicking on the Click Tracking button will reveal all the the click tracking links you have specified for the campaign. Extract Click From Message The extraction function automatically scans your HTML for all clickable items, (hyperlinks or elements with an HREF) and adds them to this list. Once they are loaded, you can enable them and assign a tracking code to each for statistical purposes. If you are using an External Email List you will see an SQL Statement box. This SQL statement is executed when the someone clicks that particular link. Delete All This button deletes all the click tracking entries in the list. SQL Statement If you are using an external email list you will be able to execute an SQL statement when the click tracking event happens. There are system merge fields you can use in your statement: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !55 {%CAMPAIGN_ID%} - The campaign ID found on the Campaign List {%UNIQUE_ID%} - The unique ID of the record that generated the email {%IP%} - The IP address the click occurred from {%CLICK_DATE_TIME%} - The exact time the click happened (YYYY-MM-DD HH:MM:SS) {%ABMESSAGE%} - Will be replaced by a “A” or a “B” {%CLICK_TRACKING_URL%} - The original URL used in the hyperlink {%SENT_DATE_TIME%} - Date and time the campaign was sent (YYYY-MM-DD HH:MM:SS) {%EMAIL_ADDRESS%} - The original email address used to send the email {%CLICK_TRACKING_ID%} - ID of the click tracking record in the tblCampaignClickTracking table {%TABLE_NAME%} - This is the table name for an Internal Email List that can be used in an Action Item SQL Statement you are needing to execute {%CAMPAIGN_NAME%} - The name of the campaign that generated this click tracking event Example: Insert into tblClickTrackingResponse (CampaignID,UniqueID,IPAddress,ClickDateTime) values ({%CAMPAIGN_ID%},{%UNIQUE_ID%},’{%IP%}’,’{%CLICK_DATE_TIME%}’) Notice the last three value parameters have single quotes around them. This is because these merge field are text values and need to be delimited for the SQL server to accept them. The CLICK_DATE_TIME merge field is in a universal format (YYYY-MM-DD HH:MM:SS). Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !56 Message Content Programming The HTML section can include any HTML text, database merge fields, and system merge fields. Database merge fields - These fields allow for the insertion of information from your database into your email message. If you had a database column called “FirstName”, then you could enter: Example: Dear {%%FirstName%%} would return “Dear Chris” Merge Functions The function and column names are case-sensitive. Column names must match the same case as in your database. The delimiters for Merge Functions has three % signs Example: Dear {%%%=NZ(Firstname,”Valued Customer”)%%%} NZ(<ColumnName>,<DefaultValue>) This function will return the data in the column name if the data is not null. If the data is null then the default value is returned. Example: Dear {%%%=NZ(FirstName,”Valued Customer”)%%%}, would return “Dear Valued Customer,” if the FirstName column was empty FormatNumber(<ColumnName>,<FormatString>) This function formats the data in the specified column using the format string specified. Formatting characters: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !57 Format Specifier Description Example “0” Zero Placeholder - Replaces the zero with the corresponding digit if one is present; otherwise, zero appears in the result. 0.00 -> 0.10 “#” Digit Placeholder - Replaces the "#" symbol with the corresponding digit if one is present; otherwise, no digit appears in the result. #,### - > 5,123 “.” Decimal Report - Determines the location of the decimal separator in the result string. 1.23 “,” Group Separator and number scaling - Serves as both a group separator and a number scaling specifier. As a group separator, it inserts a localized group separator character between each group. As a number scaling specifier, it divides a number by 1000 for each comma specified. 12,129 “%” Percent Placeholder - Multiplies a number by 100 and inserts a localized percentage symbol in the result string. 12% Example: If the field name “Cost” had the number 4012.1, {%%%=FormatNumber(Cost,”#,###.00”)%%%} will return “4,012.10” FormatDateTime(<ColumnName> or SYSTEM_TIME,<FormatString>) This function formats a database date type column or using the SYSTEM_TIME setting using the format specifiers: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !58 Format Specifier Description Example “d” Day of the month 1-31 “dd” Day of the month 01-31 “ddd” Abbreviated day of the week Mon, Tue, Wed “dddd” Full name of the day of the week Friday,понедельник “h” The hour, using a 12-hour clock from 1 to 12 “hh” The hour, using a 12-hour clock from 01 to 12 “H” The hour, using a 24-hour clock from 0 to 23. “HH” The hour, using a 24-hour clock from 00 to 23. “K” Time zone information “m” The minute, from 0 to 59 “mm” The minute, from 00 to 59 “M” The month, from 1 through 12 “MM” The month, from 01 through 12 “MMM” Abbreviated name of the month “MMMM” The full name of the month “t” The first character of the AM/PM designator “tt” The AM/PM designator “yy” The year, from 00 to 99 “yyyy” The year as a four-digit number “:” The time separator +05:00 March 9a Example: When using a database column, for a date like May 5, 2012, {%%%=FormatDateTime(TheDate,”yyyy-MM-dd”)%%%} would return “2012-05-05” When using SYSTEM_TIME, if today was January 15th, 2013, {%%%=FormatDateTime(SYSTEM_TIME,”yyyy-MM-dd”)%%%} would return “2013-01-15” FormatCurrency(<ColumnName>) Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !59 This function formats the data in the specified column using the currency format for the regional setting of the operating system. For a number like 3123.55, if the operating system was set to United States {%%%=FormatCurrency(Cost)%%%} will return “$3,123.55” Select(<ColumnName>,<MatchValue1>,<ReplaceValue1>,<MatchValue2>,<ReplaceValue2>,...) This function allows the data in a column to conditionally select the value you want to return. The first parameter is the column name, and then following will be pairs of the matching data and the return value if for the match. Example: {%%%=Select(Gender,"M","Male","F","Female",Default,"Male or Female”)%%%} If a <ReplacementValue> begins with “FILE:” followed by the path of file, then the contents of that file will be used in the merge. Example: {%%%=Select(Gender,”M”,”FILE:C:\yourfilefolder\male_offer.txt”,”F”,"FILE:C:\yourfilefolder \female_offer.txt",Default,"FILE:C:\yourfilefolder\unidex_offer.txt”)%%%} If(<ColumnName>{conditional}<Constant>,<TrueValue>,<FalseValue>) This function allows the data in a column to be compared to a constant. If the condition is true, then the “TrueValue” will be returned. If the condition is false, then the “FalseValue” will be returned. The conditional statements available are: = <> >= <= equal no equal to greater than or equal less then or equal Example: {%%%=If(Gender="M","Male","Female")%%%} IncludeTextFromURL(<URL>) This function allows the text data obtained from a URL reference to be inserted into the position of this merge field. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !60 Example: {%%%=IncludeTextFromURL(“http://arialsoftware.com/afiletoinclude.html”)%%%} IncludeTextFromFile(<FilePath>) This function allows the text data obtained from a file reference to be inserted into the position of this merge field. The file path can be any valid windows file path including UNC paths. The windows username that is running the CEMain service must have enough permission to obtain the file from the designated path. Example: {%%%=IncludeTextFromFile(“c:\updatedfolder\stockprices.txt”)%%%} IncludeAttachmentFromFile(<FilePath>) This function allows a variable attachment to be added to the email. Each attachment file must exist at the path and file specified. This text will be removed from the email message. {%%%=IncludeAttachmentFromFile("c:\temp\chris.gif")%%%} The database merge field can be used for the FilePath: {%%%=IncludeAttachmentFromFile("{%%PersonalAttachmentColumn%%}")%%%} Regarding the database merge field remember that the value is replaced but the quotes are not included, so you will need to include them as seen above. IncludeAttachmentFromColumn(<ColumnName>) This function allows you to insert text from a column in your message before merge field replacements take place. This allows you do to embedded merge fields where a column in your data contains other column references. Example: {%%%=IncludeAttachmentFromColumn(AttachmentColumnName)%%%} IncludeTextFromColumn(<ColumnName>) This function will allow you to include text from a database column before the actual data merges happen. This will accommodate embedded merge fields. Example: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !61 {%%%=IncludeTextFromColumn(MessageBodyColumnName)%%%} Redirect(<DestinationURL>) This function can currently be used in the Unsubscribe Confirmation HTML area in Site-Specific Settings area in Administration. This function will override any other HTML in the Unsubscribe Confirmation HTML area and after an unsubscribe action is done the user will be redirect to the specified Destination URL. Example: {%%%=Redirect(“http://www.arialsoftware.com”)%%%} System merge fields These field have different delimiters (one fewer % sign) and include: {%UNSUBSCRIBE_URL%} {%VIEW_AS_WEBPAGE_URL%} {%UNIQUE_ID%} {%CAMPAIGN_NAME%} {%CAMPAIGN_ID%} {%CAMPAIGN_RIID%} {%EMAIL_ADDRESS%} {%DATETIME%} These merge fields are primarily used if you need to create links in your email that go off to other website and you need to pass that information on the recipient in the URL. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !62 Using External Databases MySQL It has been found that Oracle has purchased MySQL. Also, the OLEDB support for the product from Cherry City is no longer available. Since there are no OLEDB providers currently, we are forced to use ODBC connections. Because Campaign Enterprise uses both 32 and 64 bit communications with databased, both the 32 and 64 bit ODBC drivers will have to be installed on the Campaign Enterprise computer in order for it to function properly. Also, definitions in both the 32 and 64 bit ODBC Management areas in the OS will have to be established. When creating the ODBC connections be sure to use the same DNS for both 32 and 64 bit. We are trying to work out a better solutions to this issue, either waiting for a new OLEDB provider or using the .Net connector to MySQL. MS SQL Server The Native Client (OLEDB) driver, 64 bit, is loaded when you install Campaign Enterprise so there is no need to do a separate install. CSV Files It is possible to use a text file for email lists, but you have to create an ODBC connection. This connection as a definition but is not directly connected to any text file. This is done later inside Campaign Enterprise. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !63 Create a Database Connector that points to the ODBC entry. Use the Microsoft Access (MDB) Database type since it matches the driver you created in the ODBC connection: Create an Email list using the full path filename to the text file for the Table Name. Only the table Record Source Type is valid when specifying a text file: Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !64 CECONFIGURATION.TXT File Settings The file is found in the inetpub\ce12\system folder and is used by Campaign Enterprise as a basis for database connections and system-wide configuration. The settings are made by tag pairs <thesetting> </thesetting> with the parameter in between. The following is a of current configuration switches and settings: <PrivateDBConnectionString> (Connection string text) This is the primary connection string that Campaign Enterprise uses to connect to the CampaignDB1 database in your SQL server. It is used both for the database access for the 2 websites (ce12-admin and ce12-public) and for the 4 Campaign Enterprise services (CEMain, CEBounce, CEQSend, and CEMailServer). This connection string can be any valid connection string that the MS SQL Native database driver will accept. By default the connection string uses “Windows Authentication” which makes it so you do not have to have usernames and passwords exposed in this connection string. Using the Windows Authentication method causes the connection credentials to the database be that of the process running. Provider=SQLNCLI11;Data Source=SCT01\SQLExpress;Initial Catalog=CampaignDB1;Integrated Security=SSPI; If you choose to use SQL Authentication, then your connection string may look like this: Provider=SQLNCLI11;Data Source=SCT01\SQLExpress;Initial Catalog=CampaignDB1;user id=ceuser;password=Arial1; <PublicDBConnectionString> (Connection string Text) Normally this setting is the same as the PrivateDBConnectionString. This is a connection string to the Campaign Enterprise backend databases for the ce12-public website. This separate connection string is available so you can set higher security on the public-accessable side of the Campaign Enterprise system. <LicenseKey> (License Key string text) This is the license key is a series of characters which constitutes your license. Be sure you do not have any carriage returns in this line. Sometimes when you receive these emails keys via an email it may seem like there a carriage returns because of the word-wrapping email clients can do. <UploadFolder> This is the location of the root of the upload folder that is used when you upload something to campaign enterprise. An example would be: <UploadFolder>C:\inetpub\ce12\uploads<\UploadFOlder> <Debug> (ON, OFF) This switch will turn on system-wide debugging. You can turn on this same switch from within Campaign Enterprise but that is assuming the system is working to the point you can log in and go to the Administration screen. If you are unable to log in and need to turn this switch on then you can do Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !65 it here. You will need to restart the Campaign Enterprise services in order for the system to log debug information. Example: <Debug>ON</Debug> <CEBounceBindingIP> (IP Address) In some instances, you may have an SMTP Server on the same system as Campaign Enterprise. By default, both Campaign Enterprise and your SMTP Server may need to listen to port 25 which causes a conflict since only one system can monitor port 25 on a single IP at a time. Since the bounce system in Campaign Enterprise has no choice but to listen to port 25 for bounce emails coming back, the best thing to do is change the port that the SMTP server is using to listen for request to another port, like 2525. If your SMTP Server has to listen to port 25 as well, then the only other solution is to have two IPs on the computer, with each system using one of those IPs. In this case, you will need to set up your SMTP Server so it uses one IP and Campaign Enterprise use the other. This setting allows you to establish which specific IP Campaign Enterprise will use to listen for port 25 traffic. Here is an example: <CEBounceBindingIP>192.168.1.111</CEBounceBindingIP> <CEBounceWelcomeMessage> (string value) In some instances, you may have need to change the initial welcome message when an outside SMTP server attempts to connect to the bounce system. Adding this value will change that initial welcome message as in this example: <CEBounceWelcomeMessage>cebounce.arialsoftware.com ready</CEBounceWelcomeMessage> <CEExternalSQLServer> (TRUE, FALSE) If the SQL Server you are using for Campaign Enterprise backend tables is located on a different computer, then set this switch to “TRUE”. This is primarily used for email lists imports into internal Email Lists. If this setting is not present or set to FALSE, Campaign Enterprise will use a “BULK INSERT” to import email addresses into the Email List but this method requires the imported text file to be on the same computer as the SQL Server. This method is most efficient for large imports. If the SQL Server is located on a different computer, the uploaded text file will not be accessable to that system because it is uploaded onto the Campaign Enterprise computer. Setting this to TRUE causes Campaign Enterprise to bypass the BULK INSERT operation and uses a less efficient importing system. Here is an example: <CEExternalSQLServer>TRUE</CEExternalSQLServer> <EnableBounceMessageTextStorage> (ON, OFF) Under normal circumstances the Campaign Enterprise system does not store the original bounce messages returned when an email is undeliverable. The information is analyzed by the Campaign Enterprise system and only information that is useful for Campaign Enterprise to report on is stored. If you need to store and access the original bounced email information, you can turn this switch on and this information will be stored along with the other information in the tblBounceLog table. Be aware that storing this information will cause your tblBounceLog table to become large so if you use it over a Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !66 long period of time you may want to set up something in the SQL server to purge the information. Here is an example: <EnableBounceMessageTextStorage>ON</EnableBounceMessageTextStorage> <DomainUsernameAuthentication> (ON, OFF) When you turn on this switch, this will cause the system to use Windows/Domain username authentication to log in. This domain authentication method will only work with the username@domain format, the pre-windows 2000 username format of domain\username is not supported. CAUTION: When using this domain authentication system method, your username and password will be transmitted to the Campaign Enterprise website in plain-text format. It is highly recommended if you use windows domain authentication that you obtain an Secure Certificate (SSL) and apply it to ce12-admin website in IIS so that this information is encrypted. Here are the changes to the user interface that will happen if this switch is on: 1. The login screen will now require a domain name as well as a username and password 2. When you create a new user, you will not be asked for a password but you will have to enter in the domain\username of the user being created 3. You will not be able to set or change the password in the User management section 4. On all the screen in the interface the “Change Password” link will be hidden because you cannot change a windows/domain password from Campaign Enterprise. Here is an example: <DomainUsernameAuthentication>ON</DomainUsernameAuthentication> EnableLegacySQLStatementBoxes (TRUE,FALSE) When set to TRUE, this will expose the older-type SQL Statement boxes in the Campaign Edit Options area. The use of these SQL Statement boxes is deprecated to the using the Actions system and will eventually be removed from the system. Only use this setting if you have previous campaigns that use these boxes. If this entry is not in the ceconfiguration.txt file then TRUE is assumed. So for previously installed systems, the SQL Statement boxes will be visible, but for new installations this will be disabled because of this switch. <EnableLegacySQLStatementBoxes>FALSE</EnableLegacySQLStatementBoxes> ConsecutiveErrorRetryCount (Default is 10) This setting can be used to change the number of consecutive errors that can occur when attempting to send emails to an SMTP Server. Example: <ConsecutiveErrorRetryCount>20</ConsecutiveSMTPErrorRetryCount> Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !67 Uninstalling Campaign Enterprise There is no automatic way of uninstalling Campaign Enterprise because of the risks with other systems running, but it is quite easy and safe to remove the system using the steps below: IIS Server Administration • Delete the ce12-admin and ce12-public websites • Delete the ce12-admin and ce12-public application pools SQL Server Management • Delete the CampaignDB1 and CampaignLists • In Security/Logins area, delete the ceadmin and cepublic usernames you used to access the SQL Server. These might be SQL authentication or Windows usernames. Deleting Services At a DOS prompt, to remove the services, type in and run each one of these: SC DELETE CEMAIN SC DELETE CEBOUNCE SC DELETE CEQSEND SC DELETE CEMAILSERVER Delete Users: If local windows user accounts were created (default) go into the Windows User Management area and delete the ceadmin and cepublic usernames Delete CE12 Folder: Delete the CE12 folder usually found in your INETPUB folder on your disk install disk Delete Registry Keys if either exist: HKEY_CURRENT_USER\Software\VB and VBA Program Settings\CE12 HKEY_LOCAL_MACHINE\Software\CE12 Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !68 Moving The Campaign Enterprise Database (CampaignDB1) At times it is necessary to move the Campaign Enterprise database from one computer to another. Many times the database is initially installed on the same computer as the Campaign Enterprise system and then it is moved to another system later. Moving the database itself consists of backing up the database, then restoring it on the new system. The more complex part of this operation is the new connection string to the SQL Server and the security model you plan on using to allow Campaign Enterprise to communicate with the SQL Server. When the SQL Server is on the same computer as the Campaign Enterprise system usually Windows Authentication is used to connect to the Campaign Enterprise system because it is usually very simple. When you move the databases to the SQL Server you must first modify the system database connection string found in the ceconfiguration.txt file in the ce12\system folder. BUT, before you do this, you need to decide the method of authentication you want to use: SQL Server Authentication - If you are using separate computers but do not have domain then this is the only method you can use. You will have to: - Restore the CampaignDB1 and CampaignLists databases on the new server - You will need to erase the security records found within security for the two databases for the ceadmin and cepublic usernames you created. - Create new ceadmin and cepublic usernames in the SQL Security Logins area and grant access to both of these new usernames and make them db_owner - Modify you connection string in ceconfiguration.txt to use “USER ID=“ and “PASSWORD=“ in the connection string Provider=SQLNCLI11;Data Source=YourSQLServerNameOrIP;Initial Catalog=CampaignDB1;User ID=ceadmin;Password=yourpassword; Windows Domain Authentication - When you use Windows Domain Authentication to access the SQL Server then you will not have to expose your SQL Server connection string password. To use this method you will have to: - Restore the CampaignDB1 and CampaignLists databases on the new server - You will need to erase the security records found within security for the two databases for the ceadmin and cepublic usernames you created. - Add the windows domain name for ceadmin and cepublic in the SQL Security Logins area and grant access to both of these new usernames and make them db_owner - Modify you connection string in ceconfiguration.txt like this: Provider=SQLNCLI11;Data Source=YourSQLServerNameOrIP;Initial Catalog=CampaignDB1;Integrated Security=SSPI; NOTE: After changing these connection string be sure to restart the CE services and restart the admin and public Applications pools in IIS for the new connection string to take affect. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !69 Revision History version 12.0.262 • Fixed issue with chained campaigns not running when Email List has not records • Fixed emptied help file bubble popups • Loads email templates when the the templates table is empty version 12.0.261 • Added campaign-specific unsubscribe ability version 12.0.260 • Fixed issue with install not starting MTA service • Fixed issue where “forget password” system send out multiple emails version 12.0.259 • Added new switch to allow email return-path (VERPs) addresses to include Unique IDs only. • Added new SMTP Queue and Arial MTA system option • Fixed issue with System-Wide settings not saving the mail server settings correctly so summary report logs were not being sent. • Modified CEBounce service to recover from Null errors • When counting records for SQL Statement in email lists if you used an alias of “t” in the statement it would collide with the counting SQL statement because CE was using “t” as well. This alias has been changed to a random one that should not collide with the user’s. version 12.0.258 • Fixed issue with stored procedure record counts not working • Removed error for nzFormatDateTime function in error logs version 12.0.257 • Changed bounce detection to allow SMTP code 5.2.2 (mailbox full) errors • Changed installation to allow the shutting down of services so the new DLLs could be installed • Fixed issue with Bad Email Address Action processing not recognizing the new {%CAMPAIGN_NAME%} merge field version 12.0.256 • Added merge field {%CAMPAIGN_NAME%} merge field to all response events SQL Statement areas. • Locking of the FROM Address and From Name on a user-basis controlled by an admin • Fixed issue with SQL statement not executing in certain circumstances for Click Tracking events • Changed embedded images to use the CID (Content-ID) method • Changed installation system to force overwriting of DLL support files during upgrades Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !70 • Added a new switch in User area to lock FROM address and name in the email to the specific user’s information version 12.0.255 • When a mail server was deleted, if it was part of a mail server group the association was was delete but has been corrected. version 12.0.254 • • • • Public URL entry in Administration now requires the http:// Better email format checking There was a problem with counting of Click Throughs in statistics that has been corrected When a campaign is run the email list could is recalculated version 12.0.253 • ODBC connections are allowed again • Interval scheduling at 1 minute intervals had problems on systems in load balancing scenarios which has been corrected version 12.0.252 • When a campaign is run sometimes the Mail Server would test good when there was a problem which has be corrected. • When a bounced email was processed there was an “object” error that has been corrected • When searching within an email list if the value entered was larger than 28 characters then there was an error which has been corrected version 12.0.251 • When sending if a bad email address was encountered the campaign would stop and due to an unhanded error when writing to the database which has been corrected. version 12.0.250 • Due to un-capture-able database errors that occurred in the CE services the database connection method used in these services have been changed. version 12.0.249 • Added Purge Campaigns function in Administration • Allows for CC field in email to have database merge fields that have multiple addresses in them separated by commas version 12.0.248 • Added ability to re-import exported campaigns • Added ability for export and import of campaigns to carry along the associated email list • Created an audit trail file that can be used to find when information changes in a campaign and other areas Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !71 • Email Alerts can now be sent to multiple email addresses • Site-Specific settings area for View as Webpage and others were limited to 5000 characters but now it is unlimited. • In some instances the user interface would return “Create Object error” which has been corrected. version 12.0.247 • Added TLS communication ability to the System Settings for the SMTP Server • Added license expiration date and number of days to Administration screen • For campaign level email list filtering, IS NOT IN LIST has been added for numeric and string type columns • The Campaign sending process has been moved to its own Windows service called CESend. This allows the sending of a campaign to continue even when there is an error during recording of response events. • Decreased the time of the CEMain service starting when there are a many campaigns • The “Preview” button when editing a campaign now shows all of the columns within the email list • Fixes bounce recording of email addresses that have apostrophes in the email address version 12.0.246 • After copying an internal email list, if you imported or added a record to the new email list the Date Added field • Added the {%TABLE_NAME%} merge field in Action items for SQL Statements when using external email lists. • When importing email addresses into an internal email list the DateAdded is defaulted • When chaining campaigns, if the first campaign had 0 records then subsequence campaigns would not run, which has been corrected. • Added the ability for the {%CAMPAIGN_ID%} system merge to be used in a campaign-level filtered value box. version 12.0.245 • Database merge fields were not working with the BCC email field but has been corrected • When using Internet Explorer, when using the Column Name lookup buttons, when clicking Add the column name was not copied to the main page. • Email format checking now looks for periods at the end of the email addresses • Added new ceconfiguration.txt file entry to allow for adjustment of the number of consecutive SMTP errors that can occur before a campaign is terminated • Added a new merge field to Action Items call {%TABLE_NAME%} which is used for internal email lists when executing an SQL Statement version 12.0.244 • Fixed “IF” and “SELECT” merge functions to allow commas in the return values version 12.0.243 • In some circumstances, when a campaign completion email is attempted to be sent there would be a mailer error referring to an unlock error. This conflict has been removed. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !72 • Changed the email list copy function so you can only copy structure or structure and data for an internal email list type • Allows database merge fields in CC and BCC version 12.0.242 • Added a database connection type INFORMIX database type • Changed Mail Server TLS/SSL setting issue you want to use TLS but not SSL • When using the IncludeAttachmentFromFile merge function, two attachments were being added, this has been corrected. version 12.0.241 • The new Email List categories selection box was not showing up in the External Email List configuration screen • During installation, the registry key is now read and the Installation Folder is verified to be present before the installation starts. • If a custom header of “List-Unsubscribe” is used it will override the built-in “List-Unsubscribe” header • Click tracking extraction was identifying the custom “view as webpage” merge field as a click tracking link which needed to be ignored. This has been fixed. • If Unsubscribe Reasons was not utilized then a NULL value for this value caused the unsubscribe not to be updated. This has been fixed so unsubscribe reasons are not needed for success recording • For campaign level email list filtering for the IS IN LIST operator you can now activate a LIKE sequence by using percent signs (%) in the values. • The following will occur when a connection is made to an SMTP: 1) If the SmtpPort property = 465, then sets StartTLS = False and SSL = True 2) If the SmtpPort property = 25, sets SSL = False • When editing internal email list records using the full screen editor some of the values were not being saved which has been corrected. version 12.0.240 • When using an =IF merge function, if the return values were less than 5 characters long the merge function would not work. • Created new merge function =IncludeTextFromColumn that will include text from a database column before the actual data merges happen. This will accommodate embedded merge fields. • When database connections where lost during a batch record update for unsubscribes, bounces, etc the CEMain process potentially could be stopped. This has been corrected. version 12.0.238 • Unsubscribe Action items where failing when an unsubscribe reason was deleted instead of just recording the default. • Added Email List Categories • When campaign completes and post Action is processed an error will not cause the campaign to fail but just report on it • De-duping of email addresses during an email send are now case-sensitive version 12.0.237 Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !73 • The username to log in used to be the same thing as the email address of the user. Now, username and email address are separate fields. • Fix issue where when adding a new campaign using a template it would make the new campaign a template as well. • Starting a campaign with a mail server group caused an error that has been fixed. • Corrected error when trying to run a campaign using a Mail Server Group • Removed requirement for record count being greater than zero when trying to run a campaign in consideration that the pre-processing SQL Statement may produce records to send to version 12.0.236 • Fixed various typos • Modified installation to use LOCAL_MACHINE registry storage instead us USER registry storage version 12.0.235 • For the unsubscribe response SQL Statement the {%EMAIL_ADDRESS%} was returning nothing which has been corrected. • Fixed issue with deleting mail server permissions for users • Changed Public URL Management edit screen so include the permissions for users • Fixed upgrade registry key search for older version version 12.0.234 • Added {%FROM_EMAIL_ADDRESS%} and {%FROM_NAME%} as system merge fields that can used in the message • For the click tracking action item, the IP address merge field was not reported correctly but has been corrected. • Added {%CAMPAIGN_RIID%} merge field to the Open Tracking Action execute SQL statement • Fixed issue with SQL Statements being separated for execution by the ending semi-colons. This happened mostly with using message text which had semi-colons in it. version 12.0.233 • When an SQL server failure is detected, now in retrying to connect, the connection string is reloaded from the ceconfiguration.txt file in case it changed. • When deleting a campaign the records from tblActionInstances and tblCampaignFilterCriteria was not deleted along with the campaign • Carriage-returns are now removed from Campaign Actions multi-line SQL Statements • Fixed Action SQL statement size limits from 500 to 25000 characters • Fixed internal Email List copy so the custom fields are also copied to new Email List • When you copy an internal Email List now you can choose to copy just the structure or the structure and data version 12.0.232 • Admins can now set permissions for campaigns, email lists, and database connections that are not owned by them • Added the {%CAMPAIGN_ID%} merge field so you can use it in the campaign-level filter value • Modifications to the SQL Server recovery. If the SQL Server is unavailable the all services will trying even 10 to 15 seconds to make the reconnection until the service is stopped Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !74 version 12.0.231 • Expanded the storing ability of the SQL statement used in an email list to 25,000 characters instead of 5,000 characters. • When copying a campaign the Actions and the Campaign Filter items are now copied too. • When SQL Statements were not used for response events there could be an error where the database connection was not found. Workaround is to set the SQL to “SELECT 0” so it has something. This version fixes that • Sender queue screen now refreshes every 5 seconds • Fixed info popups for Database Connection editing screen • Fixed installation system so that older versions will include the bounce and public URL domains version 12.0.230 • Actions - This new system allows a campaign to execute specific actions before, during, and after a campaign is run. See documentation for more info. • Campaigns can be marked as “Is Template”. When you add a new campaign it will give you a list of the campaigns marked as “Is Template” and the new campaign will have all the settings of the new campaign • Due to a caching issue, Internet Explorer would sometimes not update dynamically created lists and status updates. Caching is now being forced off for all browsers so the lists should work. • Fixed issue when in Email List configuration for bounces. When the UniqueID and the EmailAddress columns are the same, the email addresses being stored retained the = sign used in the return path email address. These = signs are now converted back to @ signs. • In a load balancing situation it was possible for a campaign to be started on both CE systems at the same time. This has been corrected by one locking out the other. • Added UnsubscribeReason field to the Unsubscribe Log file found in the Campaign logs area • Added {%CAMPAIGN_RIID%} merge field to the SQL Statement box • Found situation where tblBounceLog information was updated incorrectly. • Added system merge field {%EMAIL_ADDRESS%} and {%CAMPAIGN_RIID%} for use in messages being sent. • Fixed issue with the “=NZ” merge function that returned an error • Set a standard date format for all response log date output (yyyy-MM-dd HH:mm:ss) • When sending email a 550 error will increment the Bad Email Address counter and not count as a hard SMTP server error that would stop the sending. • Added a new variant to the merge function SELECT where if the selected value begins with “FILE:” followed by a path to a file then the contents of that file will be used in the merge • Added new filter item for Campaign specific email list filter for dates IS NULL • The CEBounce service which provides the listener on port 25 and writes bounce-backs to the database, has been modified to compensate for the MS .NET 4.5 “feature” that will not trap certain Operating Systems errors which caused the service to shut down. The switch has been turned on to disable this feature in future builds of the CEbounce as well as the rest of the services. • When using AB messaging, identical click tracking links in each message type were not being differentiated so only one of the click tracking definitions were being used so the click was not associated with the A or B message, and this has been corrected. • Added merge field {%CAMPAIGN_RIID%} to the click tracking SQL statement box • Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !75 version 12.0.228 • When the exporting internal email lists all records are not exported even if they are bounced or unsubscribed • If a campaign is stopped during a send because of 10 consecutive SMTP errors, the system now throws an actual error and then allows the campaign to be resume after review/correction. • Added {%CLICK_TRACKING_ID%} merge field to the click tracking SQL statement area • Click tracking SQL boxes for external email lists have been been made larger • Add ability to change the bounce system’s welcome message using the ceconfiguration.txt setting called <CEBounceWelcomeMessage> • When adding a new Database Connection, the user id was not attached to the record and this made it so the Database Connection did not show up in the drop-down box in the Email List. This happened in version 12.0.227 • When there is a HTTP_X_FORWARDED_FOR header in response event calls back to CE, CE will show favor the IP in this header over the normal IP (used in Proxy Servers). Also, the port is stripped out if it is included (assumes the IP is up to the colon) version 12.0.227 • When the “Unavailable page” for a Public URL was not set then an error occurred, then the IIS system would not provide an “Page not available” text but would show an IIS server error. This has been corrected • Fixed URL Encoding problem with unsubscribe merge field data in the Unsubscribe confirmation page. When sending an email address in a parameter the @ sign would be view as a %40 which has been corrected • Added “Bad Email Format” statistic in reporting statistics for overall campaign and for individual campaign run instances. These bad email formats will not be marked as bounced anymore. • When Campaign Run Instances are purged it will now not purge those records that are in a transition state, running, run request, etc. • When adding a new Mail Server or Database Connection, if you moved to the Permissions tab there was an error message because the record had not been created yet so permissions could not be assigned. Now when creating a new Mail Server or Database Connection there is a pop up prompting for the name and the record will be created and then it can be edit as normal. • Fixed IncludeTextFromURL merge function, was not merging correctly. version 12.0.226 • Any new internal email lists will now not allow duplicate email addresses • A new Unsubscribe Info tab has been added to the campaign edit screen. A campaign can now have specific unsubscribe info. • Added ODBC and Generic database connection types • Changed PlainTextMessage storage to allow for double-byte characters (caused error when saving) • Added range protection for the Session Timeout in the user management area, Internal Email List custom field text-type entry width setting • Merge fields within hrefs and src HTML tags will now be ignored when the references are checked when a campaign start is initiated. • Merge functions were not functioning in certain circumstances which has been corrected. • Allow the passing of parameters in Unsubscribe links so they can be displayed on the unsubscribe confirmation page. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !76 version 12.0.225 • When stopping and starting a campaign two times in a row now keeps the sent file log intact instead of erasing it. • When a campaign is stopped and restarted, it will not create a new run instance record, it will use the last one available. • The Campaign Run Instances log now will only keep the last 10,000 characters to save space • Increased in the install the unsubscribe reasons from 20 to 50 characters • Searching for campaign names has been fixed for campaigns that you do not own but have permission for • Moved the DB updating to the CEMAIN service . Each time the CEMAIN process starts the database is checked. • Added new Unsubscribe Templates area in Administration. You can apply any unsubscribe template to a campaign. version 12.0.224 • Changed format of return-path addresses to be more efficient, also accommodates for uniqueID being the same column as the email address field. version 12.0.223 • Fixed issues with bounces not being recorded in some instances because of different formats the return-path address was being sent in. • Field merges can exist within merge functions, example: {%%%=Select(OrganizationType,1,”Hi {%%Salutation%%}",2,"Hello {%%Acct%%}”)%%%} version 12.0.222 • Added new SQL merge fields for unsubscribe called {%UNSUBSCRIBE_REASON_ID%} and {%UNSUBSCRIBE_REASON%} • Sometimes the formatting involved with Merge Functions like {%%%=Select…%%%} was too strict so these functions were not being found. This has changed so the merge function names are not case-sensitive (Select vs SELECT). version 12.0.221 • Added new section in Campaign Overview report that shows a pie-chart of unsubscribe reasons • Added new section in Campaign Overview report that shows a pie-chart bounce reasons • For external email lists using an SQL Statement or a Stored Procedure, there is a new merge field called {%CAMPAIGN_FILTER%}. If you include the field, you will be able to also filter at the Campaign level and this merge field will be replaced with the filter criteria you set in the campaign itself. • Added new background maintenance cycle to clean up tables, etc. Starts at midnight each day. • Added email list record count refresh button • Now when you edit records in the email list record list, when you leave that screen the email record count is updated for that list • When inserting templates into campaigns sometimes it would fail if there was not plain text message available. This has been corrected so you don’t need a plain text version. • Open tracking log was not showing the email address which has been corrected Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !77 • Log file reports are now available for click tracking, unsubscribe, bounces, and opens version 12.0.220 • In the Email List record edit screen, there is now a “Page” drop down box to move directly to a page • In the Email List record edit screen, searching for values now search within a string instead of an exact match • You can now edit filtered internal Email List records • Added API table to the Site-Specific settings the API credential entry boxes for the Professional edition of Campaign Enterprise • Updated HTML editor to CKEditor 4.3.4 • Updated javascript jQuery tool set to version 2.1 so only IE 9 and later will be supported • Fixed issue with Email Template lists failing on multiple pages of listings in both Email Template List Management in the Administration area and when selecting a template from for a Campaign. • Fixed issue with CEQSend service which sends out system email notifications and password retrieval. If database connectivity was lost during a cycle the system would stop running. • Fixes issue with CEMain service not being able to write to the Windows Event Log and would stop functioning. This may be due to the SQL database not being available for an instant. • Fixed issue with sending just Plain Text only messages. Before it was sending the HTML message as well. • Reports for the campaigns have been changed. The individual reports for click tracking, unsubscribes, etc have been removed in favor of an overall report that shows all the aspects of the campaign • The Email Templates Management and Insert Email Template inside of the Campaign Edit had an error when going beyond page 1 which has been corrected. • Fixed plain text auto-sync feature version 12.0.219 • Export Campaign function with the ability to export a campaign as an SQL Script that can be imported into another Campaign Enterprise database. To use this, you will need to allow exporting campaign in the individual user record. Once activated, you can select one or more campaigns to export from the Campaign List. • Found a problem with campaigns using filtered internal emails list stopping and saying “cannot find object tblEmailList203” when the sender encountered a bad email address format. This has been corrected and now the record is marked “bounced” if the email address format is bad and the campaign will continue. • Fixed the ability to export a filtered internal record list • version 12.0.218 • Revised domain usernames login method to use the UPN form of login (username@domain) • Fixed filtered internal list select popup box • Fixed “invalid object name tblEmailListXXX” when running a campaign when using a filtered list version 12.0.217 • Fixed issue with using {%BOUNCE_DATE_TIME%} where the date was formatted incorrectly and would not work insert using an SQL statement Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !78 version 12.0.216 • Added a new ceconfiguration.txt swtich to enable the use of Domain usernames when logging into the Campaign Enterprise system. You will still need to make users in CE so that only those that are allowed into CE will be let in, and it also will assign resources and security to that username. See CECONFIGURATION.TXT Setting section above for more information version 12.0.215 • Changed email validation tool to allow all valid characters while still holding certain rules about email address format. • Added new log reports for unsubscribe, opens, and click tracking • Added {%EMAIL_ADDRESS%} merge field to unsubscribe, opens, and click tracking SQL statement boxes • Added “Use TLS” mail server setting version 12.0.214 • Email format checking now allows for underscores before the @ sign in the local part of the email. • Added a search for a header HTTP_X_FORWARDED_FOR in the public website requests so that if Campaign Enterprise can record the true request IPs if behind a proxy server. • Bounces are now attributed to Campaigns. There is a new column in the Campaign Logs area that will show the bounces that occurred for a particular campaign run instance. • Email List Export feature was throwing an error that has been corrected. • A new switch has been added to the ceconfiguration.txt file found in the ce12\system folder where you can now turn on the ability for the original bounce message text to be added to the tblBounceLog table. The switch is: <EnableBounceMessageTextStorage>. You can also now use a new merge field in the Bounce SQL box in Email Lists configuration that allows you to access the original text from the returned (bounced) message called {%MESSAGE_TEXT%} • A new report has been added to view/save the hard bounced emails attributed to a particular campaign. version 12.0.213 • Made the Email List copy popup larger so you don’t have to scroll • Changed the Disable Sent Message Log switch in the Campaign Options to be Enable Sent Message Log switch. Now you have to explicitly turn on the Sent Message Log if needed. It used to be on by default and you had to disable it. This made so the SQL Server volume grew too large and the tblSentMessageLog had to be truncated. • Fixes problem with Filtered email lists not being able to preview version 12.0.212 • Found problem with click tracking not recording due to new CLICK_TRACKING_URL merge field which has been corrected Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !79 • When using Internal Email List with a filter there was a problem with opening these lists which has been correct in this version • Certain filter operators were missing in the 12.0.211 version which are not added with this version concerning the “In Lists” operator type • Allows for large password strings for users version 12.0.211 • NEW - Added new function to Email Lists that allow you to use an SQL statement inside a campaign. Now you can create one email list and then use it over and over in campaigns with each having its own SQL statement • NEW - New merge fields have been added to Click Tracking SQL processing including the original URL link being used and the original sent date of the campaign that is initiating the click. • NEW - Changed built-in Bounce VERPS system to include {%EMAIL_ADDRESS%} and {%CAMPAIGN_ID%} in the SQL processing • ORDER BYs in the SQL statements were causing the record counts to fail. This has been compensated for by removing the ORDER BY statement during the counting calculations • Internal list imports where not working when the Campaign Enterprise CampaignDB1 database was located on an external SQL Server. If the CampaignDB1 volume is on an external computer then you must set the <CEExternalSQLServer> setting in the ceconfiguration.txt file (in the ce12\system folder) to TRUE. This will cut performance because the SQL Bulk Insert function cannot be used. If the <CEExternalSQLServer> </CEExternalSQLServer> pair is not in your ceconfiguration.txt file you can create it manually. • MySQL record counting in the email list and the campaign run screens has been fixed version 12.0.210 • NEW - Campaign-level filtering has been added so that at a campaign-level you can select filters to choose email records based on criteria • Fixed bug with click tracking and bounces having SQL statement errors in the log • Main Menu list of campaign now holds it page number when leaving to a different screen • Sample emails will no longer be sent when a test campaign run is sent version 12.0.209 • Added new page number combo boxes to all applicable list pages • The click tracking extraction is now working for HTML content that uses the IncludeTextFromFile function • Removed large error log from Campaign reports are and just showing error codes instead, also not sending these transient errors to the Alerts system (redundant) • Bad email address formats are now enforced again. If a bad format is found for an email then the Bounce SQL statement is run (found in Email List configuration) • version 12.0.208 • NEW - Added new {%ABMESSAGE%} merge fields to the Click Tracking and Unsubscribe response SQL Statements. If you are using AB Messaging, you will be able to record what version of your email triggered the response. • In the HTML editor within a campaign, the “B” message if used did not have the insert merge fields functions and the merge fields were not high-lighted as the “A” message which has been corrected. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !80 version 12.0.207 • NEW - Added new “Database Connection” layer to Email List system. Now the connection strings to the database are stored in a separate area and can be used my multiple Email Lists. Database Connections have their own User and Group security ability. • NEW - Sample Email Address has been added in the Campaign Edit Option area. This email address will be used in the BBC of the first email going so you will get an exact sample of the email with all the merges • If the merge field {VIEW_AS_WEBPAGE_URL%} is used in the HTML text then this will override the default View As Webpage text found in Site-Specific settings in administration. • When running a campaign in the past, during the broken link check, any link that had a Campaign Enterprise merge field in it cause a bad link failure. Now, any link that has {% and %} will not be checked. • For broken link check when running a campaign, the check only downloads a small portion of the link information to prove it is active. If a bad domain is used there still be be a 5 second delay for each of these links that are broken in this way • The test email function has changed so that the test email will be based on the first recipient in your email list with only the recipient email address being changed. This will now allow the full email to be merged if there are any merge fields. • Messages being stored in the tblSentMessageLog table now only stores the HTML part of the message reducing table size. version 12.0.206 • Modified link checking when running a campaign. Now the whole page or image is checked instead of just the HEAD being checked which was rejected by some websites. It may take longer if not disabled but it will be a definitive proof that the links to work as intended. version 12.0.205 • Fixed issue with merge functions string delimiters. Sometimes the “ adn ” encoding was used which was not a valid delimiter. Now if these characters are used the are converted to real " characters when they are saved. • During an version upgrade the help information is revised to the latest text • Leading and trailing spaces are removed when saved in website pages (caused issues with column name definitions) version 12.0.204 • NEW - Added {%MESSAGE_TEXT%} merge field to the email writeback SQL section • NEW - In the HTML Message editor there is now a button to insert database fields from a list • NEW - Database merge fields inside an HTML message are now highlighted to show them being recognized as database merge fields • Correct issue with Email List list not displaying after an upgrade version 12.0.203 • NEW - Campaign ID is re-introduced into the Campaign List area and can be sorted by this column • NEW - You can now include parameters in the SQL or Stored Procedure entry boxes for Email Lists, and these parameters will be asked on a campaign-basis. (See documentation on Email Lists) Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !81 • When merges are happening in emails and the database merge fields specified do not exist in the real database then the bad merge field is identified. • In the Email List listing screen, the column “Record Count” used to be calculated for each Email List every time the list was generated. Some Email List counting procedures would lock up the screen in order to finish which caused delays. Now, the column is called “Last Count” and will reflect the most recent record count of that Email List when it was last run or configured. version 12.0.202 • In the Administration area, when viewing the user login list, the “Purge Logins” button was not working which has been fixed. • When a repeat schedule was used for a campaign and an “AM” time was entered, the time of day was reset to a “PM” time. This has been corrected. • Campaign Category lists are now alpha sorted version 12.0.201 • NEW - The addition of the “Sent Message Log” records every message that is sent out of the system. In the Administration area, you can lookup all of the emails sent to a specific email address and view the exact message that was sent to them. • NEW - Database Merge fields can now be used in Click Tracking links. Also, destination URLs with all merges are now encoded into the Click Tracking links so that no database lookups are required, increasing performance and assuring the click will function even if the campaign is deleted. • NEW - In Campaign tracking configuration area, you can now do a “Delete All” • NEW -The Category and the column sorting are now “sticky” even between login sessions • NEW - Added more date format (the order of day, month and year) selections to the internal email list import routine • NEW - When an Email List is deleted it will also delete any dependent Email Lists • URL links in the editor with multiple parameters (using the & symbol) used to get the ampersand List-Unsubscribe header in the email used to be included even when unsubscribe was disabled, this has been corrected • When using manual plain-text then plain text MIME section was not appearing in the email, this has been corrected • Email List count for Oracle databases is now calculating correctly on complex SQL statements • changed to & which caused the link to fail in some circumstances. This has been fixed. version 12.0.200 • Improved record counting consistency for external email lists, will handle more complex SQL statements or stored procedures • Fixed the SMTP port in System Wide Settings in Administration to accept port other than port 25 • Various Administration screen lists searching ability was broken. These have been corrected. • Corrected issue with Alert system, if error occurs, a alert will be generated • Added “Unavailable Page” section for PublicURLs. When any request is made back to Campaign Enterprise for an unsubscribe, click tracking, or view as webpage request, and the record cannot be found, this page is shown. • Added new merge function to programmatically add variable attachments. See new above in merge function definition section. version 12.0.199 Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !82 • For merge function IF you can now have commas and other formatting characters in the return values. Tested with commas, quotes, and HTML • Sending threads over 2 were causing the 3rd thread and above to fail. Up to 100 threads can now be executed at once. • The campaign cannot be edited when the campaign is running • Mail Server Edit screen was modified by removing rarely used parameters to an “Options” tab, does not show XXXXXXX in the password field when the password is blank, renamed labels for settings • When the CEMain process is shut down while campaigns are running (not good to do), when the CEMain system starts back up it will reset all campaigns run instances status to “stopped” version 12.0.198 • CEBounce service is not able to bind to a specific IP address if the computer running Campaign Enterprise already has an existing mail server listening to port 25 • Found issue in installation where if the user that is installing has a username with a space in it then the install will fail. This has been fixed. • Added new merge function “IF” with many conditional statements version 12.0.197 • Ability to disable src and href link checks when sending campaigns in Site-Specific Settings in Administration • For multi-user editions the ability to copy users along with all their permissions and resource assignments. • Fixed one-click unsubscribe system that was failing to add a record to the unsubscribe logs • Fixed batch archive, unarchive, and delete functions, previously would only delete one selection. version 12.0.196 • • • • • Fixed dates with international formats on all screens Run instance Start Date Time may have switched month and day around, corrected in this version Removed unused tracking code from click tracking Added new built-in variable SYSTEM_TIME to the =FormatDateTime() merge function User and Group permissions are now copied when copying a Campaign or Email List version 12.0.195 • Non-numeric unique IDs are now accepted for external email lists. A check box has been added by the Unique ID column entry box for external email lists. • Help files have been added back into the installation. • The password column size has been increased for user records to 100 characters to account for encryption. version 12.0.194 • System now allows all Latin accent characters to be used in messages and user interface • Added checking of complete custom header entries (ie: label:data) • Allow merge functions to be used in Subject line and other message elements Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !83 • When an error occurred during sending sometimes the campaign would not start up again saying there was a file in use which has been corrected. version 12.0.193 • Installation system now creates the backend database even if SQL server is on a different machine. It also creates a taylor made SQL script to run to create the databases if needed. • HTML preview windows have been added to the message editor. On the message tab there is a preview icon that will create a new window with the preview of the email. • From Address merge field will now allow merge fields to be replaced correctly • Merge Functions delimiters have been changed to {%%%...%%%} format (3 percent signs) • When stopping a campaign manually there was an error updating a database field which cased the start point to be lost. This has been corrected. • You can now disable the links check (src and href) when you run a campaign. The switch for this function is in Site Specific settings in Administration • The bounce domain name list is refreshed once a minute in the CEBounce service. Before the bounce domain list was loaded only when the service stated and ignored new bounce domain names until a CEBounce server restart. • A new “Unsubscribe Reason Management” area has been set up in the Administration area to add or remove the unsubscribe reasons box used when a recipient unsubscribes from a list. version 12.0.190 • • • • • Installation system now stored the installation folder for future updates Allows database merge fields in the sending write-back SQL box Able to now disable schedules without deleting them Fixed the bounce date and time not being recorded When sending if there are 0 email to send then it records the information correctly version 12.0.189 • Fixed External Email permission list to refresh the user permissions after deleting • For the {%UNSUBSCRIBE_URL%} link, you can add additional parameters if you want to show more data in the Unsubscribe Confirmation page in the Site-Specific area. Any parameters you add will be available for merging in the page. Example: {%UNSUBSCRIBE_URL%}&email={%%EmailAddress%%} in your email message will allow the {%%email%%} merge field available in the unsubscribe confirmation page version 12.0.188 • Added lookup table button for external email lists after the connection string is entered • Added lookup column button for external email lists after the connection string and record source is added (settings will be saved when using this feature) • Fixed installation so you can select using a domain user instead of a local user version 12.0.187 • Added same toolbar items to all WYSIWYG editors in the program • You can now purge run instances entries Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !84 • Fixed situation when “reason code” was left out of the unsubscribe confirm and error was thrown when the recipient tried to unsubscribe • Fixed MS Access connection problem. Now works will all Access versions including 2013 • Added new User Login List area in Administration to track logins version 12.0.186 • When extracting click tracking links, the B message is not searched when A/B messaging is off • When extracting click tracking links, carriage return line-feeds are moved from href records so they can be replaced properly during sending • On campaign run and schedule all links to images and URLs are checked to make sure they are active. • On Administration screen there is status of the Campaign Enterprise services • When running a campaign it will check if CEMain service is running which is responsible for sending the email and will not start the campaign is this is not running. • When upload images into the editor the file size limit is checked and reported on if exceeded. • Reworked email sending engine. Now all emails attempted with any return code will cause the system to continue to subsequent emails, while if there is a mail server connection problem the emails will be retried until the campaign is stopped or the mail server comes back online. version 12.0.185 (2013-9-27) • For internal emails list, when adding a field for text, you now have to enter a number from 1 to 255 and the field name cannot be blank • Image uploads now work in Footers, Email Templates, View As Webpage template, and all unsubscribe templates • Overview report error is corrected version 12.0.184 (2013-9-25) • • • • • • • • Copying a campaign now does not carry forward the accumulated numbers Double quotes are allowed in Campaign Names and don’t cause errors on the main menu When deleting filter elements on built-in lists, the list of remaining filters is refreshed British pound symbols (and other special characters) are now able to be searched on with internal filters Only unique counts are now recorded for opens, clicks, and unsubscibes. For pre v12.0.184 Campaign installations, you will need to clear the tables tblClickTrackingLog, tblOpenTrackingLog, and UnsubscribeLog. once it is cleared this indexes will be add when CEMain service is restarted. Click Tracking Report - only the click tracking records that are “active” show in the report Custom Headers have been re-introduced New logs are created during email sends so that each email that goes out is recorded so if there is an error the campaign can resume where it left off version 12.0.183 (2013-9-20) • Added field merge ability to all elements in email, subject, etc. • Mail server testing was working but setting the wrong success code which has been fixed. • You can now use a fixed email address for the bounced address. If you put a full email address as the bounce domain name in the administration section then the CE will use this address as the fixed return path Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !85 • When importing records into an internal email list, non-ASCII characters were changed due to codepage difference with SQL server. The Bulk Insert statement now includes a CODEPAGE=ACP which allows these non-ASCII characters to be stored properly version 12.0.180 (2013-9-20) • Completely re-written IIS DLL interface in 64bit .Net. You no longer need both 32 and 64 bit database drivers for many databases. Also, the applications pools on the IIS system now are Framework 4 and are running in 64 bit mode. • The built-in function =NZ was not merging the default value when the field as empty (instead of NULL) • Normal fields in the interface pages where not storing any double-quote characters which has been fixed • The new installation package allow for full installation as well as updating an existing system. version 12.0.161 (2013-9-25) • When an “emails per connection” was not set or set to 0 then SMTP connection during sending was never closed. In some cases SMTP server returned a 4.3.1 error designating a “exceeding resources” error. If no “emails per connection” is set, then the default emails per connection will be 100. • Added new support file adodb.dll because it was missing on some OSs version 12.0.160 (2013-08-25) • Moved the Bounce Domain Setting for the email return path from the Email List settings to the Campaign settings. Now each Campaign regardless of email list can use whichever Bounce Domain Name it has privilege to use. • Fixed server time problem on header of website Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !86 Troubleshooting Image/Attachment/List Upload Problems IIS has certain protections built in that limit certain operations. One of the limitations that may be in force is an upload file size maximum. If you are finding that the uploading of attachments are not working, then it may be an IIS setting. The graphic below is a section in IIS7 under ASP, limitations, that may need to be reset. Since attachment file sizes in Campaign Enterprise is 5MB, increase the parameter below as shown: ! CEMain Service Is Not Starting Automatically When CEMAIN service operates normally but does not start up when a machine is started or rebooted, then usually the problem is that the SQL Server you are using is on the same machine and is also starting at the same time as the CEMain service. CEMain will wait for a connection to the SQL Server but will timeout if it takes too long. To stop this from happening, you can set up the CEMain service startup to “Automatic (delayed start)” or you can set the CEMail service to be dependent upon the SQL Server service starting first. You can make these setting in the service control module in Windows under Administration. Running Campaign Enterprise Using a Domain Username and Password If you are moving your SQL Server onto an external machine and want to use Windows Authentication, you will need to change the usernames used in the Windows IIS system for the websites and for the Campaign Enterprise programs that run as services. .NET Framework not registered with IIS This usually happens when the install system did not have enough power to register the .NET Framework system with the IIS system. Database Connection Issues Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !87 The fix is: On the windows system running CE: 1. Go go a DOS prompt 2. Type in: c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_regiis -ga "ceadmin" 3. And then run it again for the cepublic c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_regiis -ga "cepublic" The usernames here (ceadmin and cepublic) could be different depending on the installation. If you are using domain usernames use the backslash method (ie: YourDomain\ceadmin) Connection String error with CampaignDB1 When a user is trying to create a connection string to the CampaignDB1 database there is an error that is produced because you are not allowed to use the CampaignDB1 database for any other storage. Additions or modifications to this CampaignDB1 database could cause the system to fail and it would also be a breach in security because then all the backend tables would be exposed to normal users. If you do by mistake try to connect to the CamapignDB1 database then the CampaignDB1 in the connection string will be replaced by this below making the connection string ineffective. CE_SECURITY_VIOLATION_NO_CAMPAIGNDB1_ACCESS Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !88 End User License Agreement (EULA) ARIAL SOFTWARE LICENSE AGREEMENT This document is the license agreement, which governs the use of the Campaign Enterprise Software package and its documentation. Read the terms and conditions of the license agreement carefully before continuing with use. This agreement is a legal document and it constitutes the entire agreement between Arial Software ("Licensor") and you ("Licensee") concerning Campaign Enterprise Software and supersedes any prior representation or understanding between Licensee and Licensor. By continuing with use of this program, Licensee is accepting and agreeing to the terms and conditions of this license agreement. If Licensee is unwilling to be bound by this license agreement, Licensee may not use Campaign Enterprise Software in any form whatsoever. Therefore, Licensee must remove Campaign Enterprise Software from the computer rendering it inoperable and destroy all copies of Campaign Enterprise Software. 1. DEFINITIONS. The term, "Campaign Enterprise Software" shall mean Campaign Enterprise Software and its Documentation. "Documentation" shall mean the help files and sample data supplied with and used in conjunction with Campaign Enterprise Software. 2. LIMITED LICENSE 2.1 Licensor hereby grants Licensee a non-exclusive, non-transferable license subject to the terms and conditions of this Agreement to use Campaign Enterprise Software and its documentation. 2.2 In consideration of payment of the license fee paid to Licensor and all sales, use, transfer, and other taxes imposed in connection with this Agreement (except taxes imposed on Licensor's income), Licensor hereby grants Licensee a non-exclusive, non-transferable license subject to the terms and conditions of this Agreement to install Campaign Enterprise Software and Documentation on a single computer. Licensee may physically install Campaign Enterprise Software on another computer provided that any previously installed copies of Campaign Enterprise Software are removed and rendered inoperable. Notwithstanding the foregoing, Licensee may make a single copy of the Campaign Enterprise Software for backup purposes only. 2.3 Licensee is licensed to use purchased copies of Campaign Enterprise Software and Documentation solely for its own internal use and has no right to sublicense, rent, lease, transfer or distribute part or whole thereof. Licensor reserves all rights not expressly granted to Licensee. 2.4 Licensee is provided with a unique license key to render Campaign Enterprise Software fully operable. Licensee agrees to use this license key to enable only one working copy of Campaign Enterprise Software to work exclusively on only one computer, to keep this license key private and not divulge, distribute, exchange, publish or furnish it to any other parties. Licensee is liable for all damages incurred by Licensor including, but not limited to, loss of sale, loss of revenue, and legal fees resulting from breach of this provision. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !89 3. LIMITED WARRANTY, DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY. 3.1 Licensor represents and warrants to Licensee that: (a) Campaign Enterprise Software will perform substantially in accordance with Campaign Enterprise Software's published specifications; and (b) Licensor has the necessary rights, title, interest and marketing rights to provide Campaign Enterprise Software to Licensee. Except for the foregoing, Campaign Enterprise Software is licensed on an "as is" basis only and Licensor makes no additional warranties with respect to Campaign Enterprise Software or to the performance or operation thereof. 3.2 The warranty in Section 3.1 hereof is a limited warranty and is the only warranty made in this agreement. Licensor expressly disclaims any and all other warranties, express or implied, including, with limitation, any warranty of merchantability or fitness for a particular purpose. Some states do not allow the exclusion of implied warranties, or the foregoing exclusion of implied warranties may not apply to Licensee. This warranty gives the Licensee specific legal rights and the Licensee may have other rights, which vary from state to state. 3.3 To the maximum extent permitted by applicable law, in no event will licensor its suppliers or resellers be liable for any indirect, special, incidental or consequential damages arising out of the use of or inability to use the product, including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if advised of the possibility thereof, and regardless of the legal or equitable theory (contract, tort or otherwise) upon which the claim is based. In any case, Licensor's entire liability under any Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. provision of this agreement shall not exceed in the aggregate the sum of the fees Licensee paid for this license (if any) and fees for support of the Campaign Enterprise Software under the Software Maintenance Agreement attached hereto as Exhibit A), with the exception of death or personal injury caused by the negligence of Licensor to the extent applicable law prohibits the limitation of damages in such cases. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages set forth in this Section 3.3, so this exclusion and limitation may not be applicable in such jurisdiction. Licensor is not responsible for any liability arising out of content provided by Licensee or a third party that is accessed through the Campaign Enterprise Software and/or any material linked through such content. 4. EXPORT CONTROLS. None of the Software or underlying information or technology may be downloaded or otherwise exported or re-exported (i) into (or to a national or resident of) Cuba, Iraq, Libya, Yugoslavia, North Korea, Iran, Syria or any other country to which the U.S. has embargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Deny Orders. By downloading or using the Software, Licensee is agreeing to the foregoing and Licensee is representing and warranting that Licensee is not located in, under the control of, or a national or resident of any such country or on any such list. 5. TERMINATION. This license will terminate automatically if Licensee fails to comply with the terms and conditions of this agreement. On termination, Licensee must remove Campaign Enterprise Software from the computer rendering it inoperable and destroy all copies of Campaign Enterprise Software. The license is also subject to cancellation if the yearly licensing is not paid in advance of the termination date. Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !90 6. INDEMNIFICATION. 6.1 Except as provided in Section 6.2, Licensee shall indemnify and hold harmless Licensor, its officers, agents and employees from and against any claims, demands, or causes of action whatsoever, including without limitation those arising on account of Licensee's modification or enhancement of the Software or otherwise caused by, or arising out of, or resulting from, the exercise or practice of the license granted hereunder by Licensee, its subsidiaries or their officers, employees, agents or representatives. 6.2 Licensor agrees that it will defend or settle, at its option and expense, any claim against Licensee, its Affiliates, and its and their employees, directors, officers, agents, and representatives alleging that Campaign Enterprise Software or Documentation furnished herewith infringes any worldwide patent, copyright, trade secret or other intellectual property right of any third party. Licensor further agrees that it will hold Licensee, its Affiliates, and its and their employees, directors, officers, agents, and representatives harmless from and against all expenses, costs, suits, claims or other proceedings against Licensee related to such infringement claims. Licensee shall give Licensor prompt written notice of all claims of any such infringement. Licensor shall be given full authority to assume the sole defense thereof through its own counsel (which must be reasonably acceptable to Licensee) and to compromise or settle any suits so far as this may be done without prejudice to the right of Licensee to continue the use of the alleged infringing apparatus. In any such suit, if the use of the alleged infringing intellectual property is held to constitute an infringement and is enjoined, Licensor may: (i) procure the right to continue the use of the same for Licensee; (ii) replace or modify the same to be free of the infringement claim; or (iii) require Licensee to return the same to Licensor and, at Licensee's option, either purchase for Licensee substantially similar replacement software from a third party that is free of the infringement claim or refund Licensee an amount equal to the fair market value of such third party software. 7. GENERAL PROVISIONS. The provisions in Sections 2, 3, 6 hereof shall survive the termination of this Agreement. This Agreement contains the entire understanding of the parties and supersedes any prior agreements or understandings whether written or oral. This Agreement may not be amended, or any term waived, except in writing executed by the parties. The invalidity or un-enforceability of any provision hereof shall not affect the validity or enforceability of any other provision or part thereof. This Agreement shall be governed by the laws of the State of California (without reference to its rules relating to conflicts of law) as applied to Agreements made to be performed within California. The captions are inserted for reference only and shall not affect the application or construction of provisions of the agreement. A Software Maintenance Agreement is attached hereto as Exhibit A and is hereby incorporated by reference. 8. COMMUNICATIONS WITH ARIAL SOFTWARE SERVERS. While using Campaign Enterprise Software, communication between Campaign Enterprise Software and Arial Software's server may occur to check if the licensee’s software is up to date or if an update is available. COPYRIGHT Copyright notice applicable to Arial Software, Campaign Enterprise Software and Documentation. Copyright (c) 1997 - 2015 by Arial Software. All Rights Reserved. Licensed Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !91 material - property of Arial Software. Licensor retains all copyrights to Campaign Enterprise Software. Copyright (c) 2015 by Arial Software/San Clemente Technologies, Inc. MISC Unlimited email and telephone support will be provided during the licensing term. ----------------------------------------------EXHIBIT A ARIAL SOFTWARE SOFTWARE MAINTENANCE AND SUPPORT The following support and product maintenance services are included in consideration of payment of the annual license: 1. Technical Support * Unlimited email and telephone support during the hours of Monday - Friday, 8:00AM 5:00PM MST, excluding all national holidays 2. Product Maintenance * All product version upgrades, corrections, modifications, fixes and version enhancements that are released in the licensed period. 3. Upgrades * Entitled to all major version upgrades during the licensed period. 4. Version Continuity * In order to qualify for major version upgrades, it will be required that the Annual Software License be in-force at the time the major version upgrade is made available. If a license is discontinued, and a major version change occurs, the licensee must pay the full amount of the license to start up again . --------------------------------------------- Copyright (c) 2014 by Arial Software/San Clemente Technologies, Inc. Page !92
© Copyright 2026