"Campaign Manager" - Using the Web Update Wizard to Manager WebBased Marketing Campaigns / News.

Overview

In addition to using the Web Update Wizard to deliver software updates to your users over the web, you can also use it to launch news or promotional web pages from within your application at pre-specified intervals and viewing frequencies.  This functionality is referred to as the Web Update Wizard "Campaign Manager" within this documentation.

Typical uses of Campaign Manager are:

This functionality is handled completely outside of the usual Web Update Wizard software update process, and gives a fine degree of control and flexibility over how your campaign is deployed.

You can use the Web Update Wizard to deploy software updates or to run campaigns, or both.

In every case, the Web Update Wizard works in the following way:

Please note that the Campaign Manager sends no information whatever back to your organisation about which campaigns the user sees, refuses etc.. You may wish to reassure your users that this is the case in order to avoid inappropriate 'spyware' associations. Campaign Manager is not spyware because it transmits no information on usage. (The only information you do have of users' usage is your own web server webstats.)

Of course, if you would like to track usage or generate custom campaigns based on the specific user, you can dynamically generate the campaigns using PHP /ASP etc..

Deployment Considerations

Please note that the same firewall considerations apply to this functionality as for the Web Update Wizard software update behaviour - that is, the Web Update Wizard will be using port 80 to access the server script file and will be launching URLs through the user's default web browser.

Example:

This is an example Campaign Manager script, to give you some idea of what is involved in writing these scripts:

*CampaignOriginator=PowerProgrammer

URL=http://www.PowerProgrammer.co.uk/latestnews.html
ShowFrom=2004/09/01
ShowTo=2004/10/20
MaxShows=5
MaxPerDay=2
AskBefore=URL
AskBeforePrompt=Hello there <USERNAME>!<p>Would you like to see the latest news
from PowerProgrammer?
DayInterval=3

URL=http://www.PowerProgrammer.co.uk/crosspromo.html
ShowFrom=2004/12/01
ShowTo=2004/12/31


Syntax:

A 'Campaign' is a single block of commands which relate to the launching of a single web page. Each campaign is separated from the previous campaign by an empty line. You can have as many campaigns in your server script file as you like.

The first 2 lines of the script file must be conform to the example above - i.e. the text " *CampaignOriginator=<name> " must be on line 1, followed by a completely blank line immediately below, followed by the first line of the first campaign block. The Campaign Originator value should be a word or words which uniquely identifies the campaigns in this script file. It is used for 'keeping score' on which campaign blocks are shown each time the Campaign Manager is launched from your application.

" <name> " should be some text which uniquely identifies your company and the overall campaign. It is used internally by the Web Update Wizard to remember users' preferences for your campaign - the user will never see it.

The order of commands within each campaign block is insignificant - the Web Update Wizard reads the whole block and then actions the campaign,

The following commands are available:

Command Description Default if not included in a campaign block
*CampaignOriginator=<name>

Must be the first line of the script file - tells the Web Update Wizard that the script file is a Campaign Manager script rather than a software update script.

The <name> must be a word or words which uniquely identifies the campaign blocks in this script file and is used to 'keep score' on the user's machine of which pages have been shown etc.

The *CampaignOriginator= line must be followed by a single completely empty line.

This line is compulsory.  If not used as specified, the Web Update Wizard will interpret the script file as a software update script, rather than a Campaign Manager script.
Log=Yes/No

Maintains a log file which Campaign Manager updates as it processes the script. Use it to test and debug your campaigns. Remove it when you 'go live'.

The filename is 'WebUpdateSvc_Campaign.log', and it will be located in the same folder as WebUpdateSvc4.exe.

The format of the log file is a tab delimited text file, containing the following fields:

  1. Date/time
  2. CampaignOriginator name
  3. URL
  4. Comment
No log is maintained
URL

The URL of the news page for this campaign.

Example:

URL=http://www.PowerProgrammer.co.uk/news.html
This command is not optional - each campaign must have one, and only one URL line.
ShowFrom=yyyy/mm/dd

The start date of the campaign, specified as a yyyy/mm/dd date.

Example:

ShowFrom=2005/09/01

The example shows the campaign from 1st September 2005 onwards.

The campaign will be shown, unless the current date is later than the ShowTo date.
ShowTo=yyyy/mm/dd

The end date of the campaign, specified as a yyyy/mm/dd date.

Example:

ShowTo=2005/12/01

The example shows the campaign will end on 1st December 2005.

The campaign will run for ever!
MaxShows The maximum number of time the user will be shown the page specified in the URL line for this campaign.

Example:

MaxShows=5
The campaign will run for ever, providing none of the other script file lines mean it is not shown.
MaxPerDay The maximum number of times per 24 hours that the page specified in the URL line for this campaign will be shown.

Example:

MaxPerDay=3
The page specified in the URL line will be shown every time the script file is parsed by the Web Update Wizard providing none of the other script file lines mean it is not shown.
DayInterval Number of days between shows of the campaign. Allows you to space out shows of the campaign over an interval of days.

Example:

DayInterval=3
The page specified in the URL line will be shown every time the script file is parsed by the Web Update Wizard, providing none of the other script file lines mean it is not shown.
AskBefore =Now|URL|All In conjunction with the AskBeforePrompt option, posts a message box before the campaign URL is launched, giving the user the option to decline seeing the campaign, either just this time, just this campaign or globally.

Example:

Option Description
AskBefore=Now Prompts each time the URL page is shown for whether the page should be launched this time.
AskBefore=URL Offers the user the option to decline this campaign. Other campaigns in the script file will still be shown.
AskBefore=All Offer the user the option to decline ALL campaigns in the script file - i.e. to permanently turn off all campaigns in the server script.

 

 

If there is no AskBefore + AskBeforePrompt in the campaign the URL page will be launched automatically.
AskBeforePrompt Displays a message box giving the user the opportunity to decline a campaign or all campaigns, depending on the AskBefore setting.

The " <USERNAME> " constant can be used to personalise the message shown - the Web Update Wizard will pick up the name of the current logged on user and substitute it into the message.
If there is no AskBefore + AskBeforePrompt in the campaign the URL page will be launched automatically.
ResetAsks=URL|All If the user has previously declined a campaign URL or all campaign URLs from the same CampaignOriginator in the script file this keyword will reverse it. Please bear in mind that if you use this functionality you may displease your users!

Option Description
ResetAsks=URL Starts showing the campaign in which the ResetAsks line is located, irrespective of any previous choices the user has made.
ResetAsks=All Starts showing all campaigns, irrespective of any previous choices the user has made.

 

Previous choices apply.
AskAfter=Now|URL|All As AskBefore, except the prompt box appears after the campaign URL is launched. If there is no AskAfter + AskAfterPrompt in the campaign the URL page will be launched automatically.
AskAfterPrompt As AskBeforePrompt If there is no AskBefore + AskBeforePrompt in the campaign the URL page will be launched automatically.

 

In addition, the following commands are available, which let you (optionally) change the appearance of the dialog box prompts used by AskBeforePrompt and AskAfterPrompt. The syntax is the same as for WebUpdate Wizard dialog boxes :

DialogBk=
TitleBk=
TitleTxt=
Title=
Subtitle=
Bitmap=
Icon=

ScrollingLink=