Electronic Manual - YourAffiliates
© SunnyScript - www.sunnyscript.com

 
Table of contents
 
Installation and configuration [go] Directory structure
[go] File transfer to the server
[go] Configuration
General information about affiliate systems [go] Common affiliate systems
[go] Beginner's questions
Administration panel [go] Admin menu
YourAffiliates settings adjustment [go] Edit YourAffiliates parameters
[go] Affiliate programs - overview
[go] Affiliate programs - available affiliate program settings
Advanced features, tasks and applications [go] 3rd-party software integration - overview
[go] 3rd-party software integration - click-through based affiliate systems
[go] 3rd-party software integration - lead based affiliate systems
[go] 3rd-party software integration - sale based affiliate systems
[go] 3rd-party software integration - combined affiliate systems
[go] Manage system tables - general
[go] Manage system tables - restructure tables
[go] Manage system tables - change table parameters and layout
[go] Send out mailings
[go] Moderate affiliate actions
[go] Additional admin tools - statistics
[go] Additional admin tools - payments
[go] Printing of cheques and payment documents
[go] Individual affiliate settings
[go] Public statistics information pages
[go] Database import and export tools
Affiliate lounge and template management [go] Access the affiliate lounge
[go] Affiliate lounge - basic overview
[go] Affiliate lounge customization with templates
[go] Available templates
[go] Customization of templates
Helpful hints and technical reference [go] SunnyScript software integration
[go] Background processes
[go] Amount formatting and rounding
[go] Manage offline generated commissions
[go] Supporting recurring sale commissions
[go] Advanced applications and possibilities
[go] Special affiliate tracking (advanced users)
[go] Alter affiliate counter
[go] Forgot your admin password ?
[go] Affiliate lounge and template translations
[go] Advanced search features
Customer services [go] Need help ? Contact the SunnyScript service department !

Smart tip: This handbook is also designed to be printed... set your printer's page orientation to landscape format, so there is enough space to place hand-written notes on the left and right margin easily.
 


 
Installation and configuration
 
SunnyScript offers an optional available installation service, if you don't want to install the software yourself.
Please contact our customer service department by e-mail for detailed information and pricing.
 
Directory structure...

The software can be installed at any place that allows the execution of CGI software: Most server systems provide a special directory called "cgi-bin" where you have to install the application, while others are not limited to a particular location.

In a common environment, we recommend to create a new sub-directory within the existing "cgi-bin" folder to separate the software from other already installed products.

Required "template.en" directory:

Inside the directory you desired for installation, please create a new sub-directory called "template.en". It's used to hold the content of "template.en" directory delivered with your software package.

Required "data" directory:

Inside the directory you desired for installation, please create a new sub-directory called "data". It's used to hold the content of "data" directory delivered with your software package.

Adjust path to Perl:

Open all program files (*.pl and *.cgi) in a text editor and change the first line "#!/usr/bin/perl" that it reflects the correct path to Perl 5 (or higher version) on your system. This is required to let your server know where the Perl interpreter is located.

Usage note: On most systems, /usr/bin/perl is already the default path to Perl and so no modifications are required.
 

File transfer to the server...

Upload all files to the created directories. If a ftp client is used, ensure to set the "ASCII transfer mode" for file submissions.

Detailed file table: Scheme: [filename | suggested place to upload (short description); file permission]:
 
Filename...
Description...
Filename...
Description...
* cgi-bin (program & data files); 755 template.en/* template.en (templates); 666
    data/* data (basic data files); 666

Important notes: Please double-check file permissions and transfer mode, otherwise the software may not work as intended. Depending upon the server configuration, different file permissions than the ones stated above may be necessary.

Smart tip: Our installation helper install.cgi makes it easier... just call it from your web browsing software (requires correct installation of this script) and it automatically checks your entire installation, adjusts permissions and fixes typical errors.
 

Configuration...

After you have uploaded all files, you may wish to start the admin panel first time to initialize the system parameters. In order to do so, please call admin.cgi with your favorite web browsing software:
 
Action to perform...
URL to call (location varies on your system, of course)...
Open admin panel http://www.sunnyscript.com/cgi-bin/ya/admin.cgi

Before you proceed, it is highly recommended to set an administration password. After this is done, access to the admin panel is granted only by using "admin" as login together with the chosen password.

Now click on the button "Edit system parameters" and configure the shown parameters according your needs.

Usage note: Since all parameters are automatically filled with correct values, modifications on your side may not be required.

Directories and files:
 
Name of parameter to set...
Description...
CGI files directory
Example: /usr/www/cgi-bin/ya
Absolute path to the location of YourAffiliates on your server.

Platform specific settings:
 
Name of parameter to set...
Description...
Mailing program (for Unix only)
Example: /usr/bin/sendmail
Absolute path to Sendmail (or compatible) application on your server.
SMTP server
Example: smtp.sunnyscript.com
SMTP server for handling mails; when left blank, the default mail application is used. This setting is required for non-Unix systems, otherwise optional.
Don't use flock
Example: Unchecked
"flock" is normally supported directly by the operating system; should it be unavailable for any reason (e.g. on Win9x, WinMe), mark this checkbox.
Don't use fork
Example: Unchecked
"fork" is normally supported directly by the operating system; should it be unavailable for any reason, mark this checkbox.
Forked process respawn interval (seconds)
Example: 60
Respawn interval for processes; recommended range: 30 to 60 seconds.
Admin e-mail address
Example: admin@sunnycript.com
E-mail address of the system administrator (e.g. webmaster).

URLs:
 
Name of parameter to set...
Description...
URL of CGI files directory
Example: http://www.sunnyscript.com/cgi-bin/ya
URL to the location of YourAffiliates on your server.
URL of user's help document (optional)
Example: http://www.sunnyscript.com/myhelp.htm
URL to an optional help document (not included); may also consist of an e-mail link (e.g. "mailto:support@sunnyscript.com").

Usage note: Should contain a link to your company's terms of business, customer service details or any other related document.

Various parameters:
 
Name of parameter to set...
Description...
Authentication time (in seconds)
Example: 10800
Time frame keeping user authentications active (after expiration, people must log in again); recommended value: 10.800 seconds (3 hours).

After you have verified all settings carefully, click on the button "Save parameters" to take over modifications to the system. It is also possible to bring back previous values with the "Let the script restore defaults" button.
 

Congratulations - you have successfully installed the software :-)

 
General information about affiliate systems
 
By the way: If you are already experienced with affiliate systems, you may skip this chapter and directly go to the next one.
 
Common affiliate systems...

YourAffiliates supports the following types of affiliate systems:
 
Click-through based
Lead based
Sale based (fix and variable commissions)
Recurring commissions per sale
Multi-level systems with up to four tiers
Engaging new affiliates (as part of the multi-level system)
As well as any combination of the above ones

It is possible to manage multiple affiliate programs at once (e.g. different product groups, departments or company subsidiaries, standard/premium programs with individual commission levels), each coming with its own preference settings.

Click-through based systems:

Affiliates receive commissions for each visitor forwarded to your website or any other online location (e.g. web shop).

Lead based systems:

Similar to the click-through system above, however commissions are granted for carrying out specific actions, like newsletter registrations or submissions of application forms.

Sale based systems:

Affiliates receive commissions for each sale made by a visitor referred to your website. Depending upon the used web shop or e-commerce system, you can also pay variable and recurring commissions based upon sale totals (or other countable units).

Smart tip: Have a look at SunnyScript's SunnyShop - powerful e-commerce software to built Internet-based shopping solutions.

Multi-level systems (up to four tiers):

Affiliates receive commissions for click-throughs, leads and/or sales generated by affiliates originally referred through them.

YourAffiliates is able to handle up to four levels, where each level is configurable independently from others. And all kinds of commissions (even for recurring sales) are supported by the multi-level system.

Engaging new affiliates (as part of the multi-level system):

Beside of paying commissions for click-throughs, leads and/or sales, you may also grant commissions to affiliates for referring new people signing-up as affiliates (regardless or with care of their future success).

Combined affiliate systems:

YourAffiliates allows any combination of the previously described systems - it doesn't matter whether you intend to pay just a click-through commission or want to handle a complex multi-level system.
 

Beginner's questions...

How do I setup an affiliate program ?

Click on the button "Edit YourAffiliates parameters" available on the main admin menu in order to set up new affiliate programs and manage existing ones. Please refer to the following chapters for more details.

What is the affiliate lounge ?

The affiliate lounge provides an interactive platform for existing affiliates to let them handle their profiles online in a comfortable way (including statistics and payment history as well as download of banners and HTML codes).

Additionally, the affiliate lounge is also the right place for people who are interested in becoming new affiliates to learn more about the business opportunities you have to offer.

How does the software recognize an affiliate ?

Each time a visitor comes to your website through an affiliate (each affiliate uses its own URL to link to your site), YourAffiliates will save a cookie on concerned visitor's computer to mark this person as somebody coming from an affiliate.

YourAffiliates can read out this cookie later at any time (or as long as you decide to let it alive) to grant commissions to the affiliate(s). Even if the visitor disconnects from the Internet and comes back after days, the commissions are paid correctly.

Which software (e.g. shopping carts) is supported ?

YourAffiliates works together with most shopping carts, e-commerce providers and payment processors. For more information, please refer to the following chapters or contact our customer service.

If you wish to pay variable* commissions based upon the sale totals, you need a compatible e-commerce system which hands over the total amount to YourAffiliates. We recommend products from SunnyScript, designed for working together perfectly.

* Fix commissions are possible with most 3rd-party products.

YourAffiliates supports the following SunnyScript products directly:
 
SunnyShop** - click-throughs, sales (processed orders)
AccessGuardian** - click-throughs, sales (memberships)
AdvertisingSuite** - click-throughs, sales (advertising campaigns)
MailingStar (plus) - click-throughs, leads (subscriptions)
PowerForm** - click-throughs, leads, sales and recurring sales

** These products support variable commissions based upon the sale totals.

Smart tip: Have a look at SunnyScript - intelligent software technology for today's Internet commerce.


 
Administration panel

The administration panel is a convenient way to work interactively with YourAffiliates. You can start the admin panel by calling admin.cgi with your favorite web browsing software:
 
Action to perform...
URL to call (location varies on your system, of course)...
Open admin panel http://www.sunnyscript.com/cgi-bin/ya/admin.cgi

How to access the affiliate lounge (registered users area, affiliate subscriptions):
 

Action to perform...
URL to call (location varies on your system, of course)...
Access affiliate lounge http://www.sunnyscript.com/cgi-bin/ya/login.cgi             or
http://www.sunnyscript.com/cgi-bin/ya/my.cgi
 
Admin menu...

This screen allows the following actions:
 
Main menu options...
Description...
Manage system tables
 
Table...
Description...
... of registered users Database containing affiliate profiles.
... of logged clicks Database containing affiliates' logged clicks.
... of logged leads Database containing affiliates' logged leads.
... of sales Database containing affiliates' logged sales.
... of payments Database containing processed payments.
... of daily statistics Database containing daily statistics.
 
Additional admin tools
 
Section...
Description...
Statistics View system statistics and genealogy reports.
Payment Pay commissions to affiliates.
 
Quick statistics View summarized system statistics.
Edit YourAffiliates parameters Modify general parameters and manage affiliate program settings.
Change password Change admin password.
Other administrative features
 
Section...
Description...
Edit system parameters Modify system related parameters.
Edit templates Edit the layout templates.
Import / export data Import and export databases.
 

The top menu line provides additional selections (depending on the current system status):
 

Top menu options...
Description...
Admin Go to the main admin menu.
Settings Adjust software parameters.
Statistics Review brief system statistics.
Home Browse the currently active system table.
Search Search the currently active system table.
Login / Logout Login or logout as administrator.
Moderate Approve or decline user modifications.
Restructure Modify structures and parameters of the currently active database.
Mailings Send out mailings to your affiliates.
Add / Clone / Update / Delete Add, clone, update or delete profiles / records.
 

 
YourAffiliates settings adjustment
Edit YourAffiliates parameters...

First of all, you must configure basic system settings which take effect to the behavior of the software. In order to do so, click on the button "Edit YourAffiliates parameters" when you're in the admin menu. 

General settings:
 

YourAffiliates asks...
Description...
Name of site being promoted Name of your website (e.g. "My sample company").
URL of site being promoted URL of your website (e.g. "http://www.sunnyscript.com"), as it will be displayed at the affiliate lounge and within mailings.

Usage note: This parameter is used for informational purposes only.

URL of site for affiliates URL of the website, which advertises your affiliate opportunities (like an overview about offered commissions, terms of business and other related information).

Usage note: This parameter is used for informational purposes only.

Footer to be added to each e-mail Default footer being added to all outgoing e-mails; suited especially for showing your business card or advertisements.
Date format Specify the date format applicable for the affiliate lounge.

Default setting: DD. MMMM YYYY
Example for default: 01. January 2525

Available components for this parameter:
 

Component...
Description...
Date format parts
D 2-digit day (without leading zero).
DD 2-digit day (with leading zero).
DDD Abbreviation of the weekday.
DDDD Complete name of the weekday.
M 2-digit month (without leading zero).
MM 2-digit month (with leading zero).
MMM Abbreviation of the month.
MMMM Complete name of the month.
YY 2-digit year.
YYYY 4-digit year.

Some sample combinations:

DD. MMM YYYY               -> 01. Jan. 2525
DDD, MM. D. YYYY           -> Wed., 01. 1. 2010
YY-MM-DD                   -> 25-01-01

Usage note: Additional text is taken over unmodified (e.g. "Today, DD. MM YYYY").

Security settings:
 

YourAffiliates asks...
Description...
Number of days to store aff. cookie Specify the time period, affiliate IDs are hold on visitors' computers. During this period, commissions are granted to concerned affiliate(s).
Overwrite existing affiliate cookie When enabled, an already existing affiliate cookie will be overwritten by a new one.
Block clicks from these IPs or
segments
Determine a list of IP addresses (one per line) not allowed to be accepted for receiving commissions (this happens invisible to the affiliate and visitor).

It is possible to replace the last IP segment by the asterisk character, to catch multiple IP addresses at once. For example: "123.456.78.*".

Technical note: More specific security settings can be done for each affiliate program.

"Welcome new affiliate" message:
 

YourAffiliates asks...
Description...
Send "welcome message" Mark the button to send a welcome message to new affiliates.

Currency settings:
 

YourAffiliates asks...
Description...
Currency prefix Type in the prefix of the currency (e.g. "$" for usage in "$12.34 USD").
Currency suffix Type in the suffix of the currency (e.g. " EUR" for usage in "12.34 EUR").
Currency decimals Specify the number of decimal places in desired currency (commonly two).
Primary currency 3-digits separator Decide for a character you want to use in order to separate amounts every three digits (e.g. $1'499.80 USD or 2.700,40 EUR).
Currency name Place the name of your currency here (e.g. "European Currency Unit").

Affiliate control panel layout:
 

YourAffiliates asks...
Description...
Menu layout
Menu items separator Characters that will appear between the top menu items (standard value: " | ").
Main menu entries Right box (available selections): Choose entry and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove an entry or use "Up" and "Down" buttons to change entry order.

Alternatively you can type in a comma delimited list of entries manually.

"Home", "Profile update",
"Statistics", "HTML code",
"Payments", "Logout",
"Help" entry text
Labels (linking text) used for top menu entries.

You can also insert image tags according valid HTML standard. "Help" allows also an e-mail address, like "mailto:support@sunnyscript.com".

Payment settings:
 

YourAffiliates asks...
Description...
Minimum payable amount Min. amount of commission (as calculated at the end of concerned payment period), an affiliate must reach, before the particular profile is marked for receiving payment.
Disable cheques generation Mark this button to disable the generation of cheques or other payment documents.

If enabled, cheques (payment documents in general) are created and attached to the consolidated payment report you receive (see next chapter).

Payment period * Select the duration of a payment period (at which time are affiliates paid).
First payment period start date * Type in the starting date of the first payment period.

Format: YYYY-MM-DD

Examples: 2010-01-01 or 2010-12-31

* Important note: "Payment period" and "First payment period start date" should be only set once (during the software setup). If you change these settings after closing the first payment period, future calculations may be incorrect !

If you find it necessary to alter "Payment period", click on "Recalculate statistics" (main admin menu) first before proceeding - however please be aware that some commissions could be counted twice for the current payment period.

Multi-level affiliate program:
 

YourAffiliates asks...
Description...
Enable multi-level feature Mark the checkbox to activate the multi-level capabilities of YourAffiliates or unmark it to disable this feature (following settings will be ignored).
Banner / text links HTML code for attracting new affiliates
Referring program name Name of the multi-level affiliate referring program; used as label at the affiliate lounge.
Referring program description Description which appears at the affiliate lounge (e.g. explain how a multi-level affiliate program works and which commissions are paid for each level).
HTML code generator position Determine the position of the multi-level affiliate program compared to other programs on the HTML code generator section of the affiliate lounge.
Advertising HTML code (#1 to #4) Provide up to four different HTML codes to be selected by your affiliates for being added to their websites in order to advertise the multi-level affiliate program.

Affiliates will see a preview and can simply copy&paste the HTML codes into their own websites and documents.

It is possible to use text links, image-based banners, multimedia objects as well as all other elements according the HTML language standard.

Sample text link:

<A HREF="http://www.sunnyscript.com/cgi-bin/ya/click.cgi?action=refer&affil=<!--$AFFILIATE-->"> Webmasters: <B>Earn money</B> with SunnyScript</A>

Sample banner link:

<A HREF="http://www.sunnyscript.com/cgi-bin/ya/click.cgi?action=refer&affil=<!--$AFFILIATE-->"><IMG SRC="http://www.sunnyscript.com/sunny.gif"></A>

Explanation of the code parts:

The linked URL of click.cgi must point to the place where YourAffiliates is located on your server (e.g. see setting "URL of CGI files directory" within system parameters).

<!--$AFFILIATE--> will be automatically replaced with the correct affiliate ID.

When using an image (or a similar multimedia object) as link, ensure that it is called in URL format (paths would not work when the affiliate copies the HTML codes).

Technical note: Should an affiliate use a misspelled affiliate ID, nevertheless visitors are correctly forwarded to your website.

Commission from ... level referrals
Specify the commissions you grant to the concerned level of affiliates. Keep all options empty to disable the entire level or just selected ones to disable only partial services.
Pay flat amount for referred
affiliate registration
Specify the amount which will be paid to concerned level of affiliates for referring new affiliate registrations (don't use any currency prefix or suffix).

Example: 9.80

Pay percentage of sales earnings Specify the percentage of the collected sales commission (by referred affiliate) this level's affiliates will receive (don't use a percentage sign).

Example: 25 -> 25 % of collected commission

Pay percentage of clicks earnings Specify the percentage of the collected click-throughs commission (by referred affiliate) this level's affiliates will receive (don't use a percentage sign).

Example: 25 -> 25 % of collected commission

Pay percentage of leads earnings Specify the percentage of the collected leads commission (by referred affiliate) this level's affiliates will receive (don't use a percentage sign).

Example: 25 -> 25 % of collected commission

Data maintenance:

Each time data maintenance runs, the following actions are performed:
 
* Refresh the table of registered affiliates and the "daily statistics" table.
* Report suspicious fraudulent actions via e-mail.
* Update all static statistics and shortcut pages.
* Clean expired records (click/lead/sale records, statistics).
* Pay recurring commissions.

Important note: Executing data maintenance is required and needs "fork" function to be enabled (see "System parameters"). If it is disabled due to technical limitations of the server, please follow the instructions below.
 

YourAffiliates asks...
Description...
Re-calculation interval in hours Specify the re-calculation interval in hours; recommended range: 3 to 12 hours.

Important note: This setting requires enabled "fork" function. See below for workaround.

Store clicks, leads and sales data
for this number of payment periods
Number of payment periods to keep raw data in databases. After expiration, admin is offered to clean such data during affiliate payout procedure automatically.

Data clearance is intended to regularly clean up unused raw data (you will not lose any bit of information, because concerned data was already processed earlier).

Recommended range: 1 to 6 months (specified as payment periods).

Store records in daily statistics
table this number of days
Number of days to keep the "daily statistics" table data stored (this table does contain processed raw data, like usage statistics).

After removal, all statistical information for the concerned time period is lost (so it is advisable to use a generous limit).

Recommended range: 180 days (~ 1/2 year) to 1095 days (~ 3 years).

Data maintenance with disabled "fork" function:

Schedule the file cron_run.pl (the file is located in the software directory of YourAffiliates) to be ran regularly by your server (recommended scheduling: each hour). You may use Cron or your server's scheduling tool in order to manage this task.

Technical note: Even when starting data maintenance in this way, ensure to fill in the parameters above.

By the way: If you are new at scheduling server actions, please contact your webhoster for details or refer to available literature. Alternatively you may use the Cron editor we provide (call cron_edt.pl from the command line, e.g. "perl5 cron_edt.pl").

Public statistics pages content update:

This feature is explained more detailed in the next chapter.

Static HTML pages as shortcuts for referring links:

This feature is explained more detailed at the chapter "Helpful hints and technical reference".
 

YourAffiliates asks...
Description...
Enable shortcut static pages Mark this button to enable shortcut static pages being generated and shown instead of the normal referring links in the HTML generator (affiliate lounge).
Target directory for generation of
shortcut pages
Type in a full path to the directory intended to contain the static redirection pages.

Important note: The path must point to a web-accessible directory.

Template of filename Specify the template used to create the filenames for each affiliate's static redirection page. There will be one page created for each affiliate and program.

<!--$AFFILIATE--> will be automatically replaced with the correct affiliate ID.
<!--$PRG--> will be automatically replaced with the program code as specified above.

Some possible filename templates:

<!--$AFFILIATE-->.htm
company<!--$PRG--><!--$AFFILIATE-->.html
<!--$PRG-->/<!--$AFFILIATE-->.htm *

* A trailing slash inside the filename template creates a new directory automatically (see third sample, where each affiliate program has its own folder).

By default, a pre-defined template page is used (see "Templates editor" screen). You may wish to customize it with additional content (there is one used for all programs).

Important notes: At least the <!--$AFFILIATE--> tag is required; never use a trailing slash after the filename (causes access errors).

Technical note: When having multiple affiliate programs, but miss the <!--$PRG--> tag, then the last program stored in the system is chosen.

Fraud detection:

YourAffiliates compares actual and historical data of each affiliate profile to detect possible fraudulent actions (e.g. affiliate uses a special script to achieve a high number of click-throughs or tries to generate invalid leads).

If such actions are detected, YourAffiliates can contact you by e-mail sending a notification. Then you have the chance to investigate this case further and either remove concerned profiles or reduce their earnings.
 

YourAffiliates asks...
Description...
Fraud risk top limit If the risk of fraudulent actions is higher than this specified one, a warning message is sent and concerned affiliates will be not selected to get paid by default.

Recommended range: 10 % to 20 % (use numerical values only, no percentage signs).

Send fraud alerts via e-mail Mark this button to enable the sending of warning msgs. in case of fraudulent actions.

Mailing:
 

YourAffiliates asks...
Description...
Send payment report e-mails
to paid users
Payment reports contain all payment details of addressed affiliates.

Mark this button to automatically generate and send payment reports to paid affiliates.

Send carry-over report e-mails
to users
Carry-over reports are sent to affiliates not being paid (failed to reach min. amount).

Mark this button to automatically generate and send carry-over reports to the affiliates who could not be paid within the actual payment period (e.g. insufficient amount).

Technical note: The text scheme used for all these reports is stored in editable templates. Please refer to the chapter "Affiliate lounge and template management" for more details.

Notifications:
 

YourAffiliates asks...
Description...
New ... notification
For each action that leads to a commission payment, the concerned affiliate as well as the admin can be notified.
Send ... notification to admin Mark this button to send a mail to the administrator for each action.

Usage note: Depending on the usage frequency of your affiliate programs, a huge amount of messages can arrive daily. So it is advised to use a different e-mail address than the pre-defined administrator's one.

Allow affiliate to receive ...
notification
Mark this button and the affiliate has the choice to receive a notification, too. It is possible to modify these preferences at the affiliate lounge individually.

Usage note: If "Pre-moderate sale records" is enabled, affiliate sale notifications are sent after the sale has been approved (no notifications for declined sales).

Technical note: The text scheme used for all these notifications is stored in editable templates. Please refer to the chapter "Affiliate lounge and template management" for more details.
 

Affiliate programs - overview...

After you have configured YourAffiliates, you can start to create affiliate programs. The affiliate program settings are located at the bottom of the screen "YourAffiliates parameters".

What is an affiliate program ?

An affiliate program allows you to pay commissions to people registered as affiliates for referred visitors and customers.

It is possible to manage multiple affiliate programs at once (e.g. different product groups, departments or company subsidiaries, standard/premium programs with individual commission levels), each coming with its own preference settings.

How to create a new affiliate program:

Type in an abbreviation of the new affiliate program (e.g. "software") and click on the button "Create new".

How to edit / remove an affiliate program:

Select the program from the list, click on "Delete" or "Edit" and follow the provided instructions.

By the way: Modifications made to existing affiliate programs (e.g. changed commissions) take effect after the next data maintenance was performed. So you may have to wait a few hours before you see all modifications active.

How to change the sorting of affiliate programs:

Select the one you wish to move around and click on either "Move up" or "Move down" button to change its position (this affects the program's position within the affiliate lounge).
 

Affiliate programs - available affiliate program settings...

Affiliate program identification:
 
YourAffiliates asks...
Description...
Affiliate program code Code of affiliate program as it will be used in affiliate URLs. Use only alphanumerical characters: A-Z, a-z and 0-9 are supported. Keep it as short as possible.

Important note: This setting should be never changed once it is set, because otherwise existing affiliate URLs becomes invalid.

Affiliate program name Name of the affiliate program, as it will be displayed at the affiliate lounge.
Affiliate program description Descriptive text for this program, as it will be displayed at the affiliate lounge.
Advertising HTML code (#1 to #4) Provide up to four different HTML codes to be selected by your affiliates for being added to their websites in order to advertise the concerned affiliate program.

Affiliates will see a preview and can simply copy&paste the HTML codes into their own websites and documents.

It is possible to use text links, image-based banners, multimedia objects as well as all other elements according the HTML language standard.

Sample text link:

<A HREF="http://www.sunnyscript.com/cgi-bin/ya/click.cgi?prg=<!--$PRG-->&affil=<!--$AFFILIATE-->"> Webmasters: <B>Earn money</B> with SunnyScript</A>

Sample banner link:

<A HREF="http://www.sunnyscript.com/cgi-bin/ya/click.cgi?prg=<!--$PRG-->&affil=<!--$AFFILIATE-->"><IMG SRC="http://www.sunnyscript.com/sunny.gif"></A>

Explanation of the code parts:

The linked URL of click.cgi must point to the place where YourAffiliates is located on your server (e.g. see setting "URL of CGI files directory" within system parameters).

<!--$AFFILIATE--> will be automatically replaced with the correct affiliate ID.
<!--$PRG--> will be automatically replaced with the program code as specified above.

When using an image (or a similar multimedia object) as link, ensure that it is called in URL format (paths would not work when the affiliate copies the HTML codes).

Technical note: Should an affiliate use a misspelled affiliate ID and/or program code, nevertheless visitors are forwarded at least to your website correctly.

Paid advertising methods:
 

YourAffiliates asks...
Description...
Pay-per-click
Pay a commission for each referred visitor to your website.
Don't pay for clicks Mark this button in order to disable click-through based commissions for this program.
Pay this amount per click Mark this button and type in the amount (without currency signs) you wish to pay for each successful click-through.
Pay variable rate per click Mark this button and type in variable rates according the scheme below you wish to pay an affiliate depending upon its click-through activity.

Format: <# clicks per period>:<Payment per click>
(put only one pair into a single line)

<# clicks per period>: Minimum amount of clicks, that must be reached within a payment period, before the paired commission is granted.
<Payment per click>: Amount of commission paid per click-through.
 

Sample input...
Description...
10:0.05
100:0.10
150:0.12
>= 10 and less than 100 clicks per period = 0.05 paid / click
>= 100 and less than 150 clicks per period = 0.10 paid / click
>= 150 clicks per period = 0.12 paid per click

An unlimited number of combinations is possible.

Usage note: Ranges kept unspecified will lead into not paying comissions for them (e.g. in above sample, for less than 10 clicks, no commission is granted).

Count clicks You may limit the click-throughs for which commissions are granted, in order to prevent abuse of the affiliate program.
 
Available options...
Description...
Raw clicks Each click-through is counted.

This setting counts all clicks, which makes it not very recommendable due to the high risk of abuse.

Clicks from unique IP Within a given time period *, each unique IP address is only counted once.

Even if different people (with same IP) are brought to you, just one click is counted -> budget friendly.

Clicks from unique visitor Within a given time period *, each unique visitor is only counted once (recommended selection).

In this way, also people using the same IP are counted correctly, so this is the most fair option.

* Collected IP addresses are kept stored (and blocked) until you select to clear raw data of previous payment periods during payment processing.

Also click-throughs not paid because of this parameter's setting are correctly forwarded to your website, so you never lose a visitor.

Usage note: "Raw clicks" option may be the right setting, if you earn money by showing content (e.g. ad banners) on your website. Since each visit leads to displaying content, the risk of abuse is acceptable compared to the desire of fair affiliate payment.

Use double-click method If enabled, YourAffiliates creates an "intermediate" page with a random confirmation code, which is checked before the visitor is forwarded to your website.

In this way, fraudulent click-throughs are prevented, but it requires to press a button before your website is shown (which may lead into losing some visitors).

Technical note: This setting is compatible with all web browsers.

Template for double-click
intermediate page
Select the desired template used as "intermediate" page or keep the standard one.
Require referring document In order to prevent abuse of the affiliate program, you may limit the sources for which commissions are granted.
 
Available options...
Description...
Don't require Count clicks from any URL (recommended).
Require any referring URL Count only click-throughs coming from websites (clicks coming from e-mails are not counted).
Require URL from affiliate's site
domain
Count only click-throughs coming from the website of concerned affiliate (field site_url in profiles).

It's a matter of course, that also click-throughs not paid because of this parameter's configuration are correctly forwarded to your website - so you never lose a visitor.

Usage note: "Require URL from affiliate's site domain" is the most strict setting which limits counting of clicks to the affiliate's website (if you feel that the abuse risk is high).

After logging click,
redirect user to this default URL
Type in the URL being shown to visitors coming from affiliates. Normally, this should be the website for which the concerned affiliate program is intended.

You can also point the URL to dynamic pages or scripts.

Important note: Since this setting is absolutely essential, please check it twice.

Allow redirection to custom URL Mark this button to allow affiliates using variable target URLs to sent visitors to.

This feature is espcially suited for e-commerce websites to let affiliates promote specific products and services or for websites having different sections being advertised.

Implementation at advertising HTML codes:

In advertising HTML codes the additional argument "url" specifies the custom redirection URL. So a text link may look like this one:

<A HREF="http://www.sunnyscript.com/cgi-bin/ya/click.cgi?prg=<!--$PRG-->&affil=<!--$AFFILIATE-->
&url=http://www.sunnyscript.com/hosting.htm"> Webmasters: <B>Earn money</B> with SunnyScript</A>

Usage note: In order to achieve compatibility with all browser platforms, it's advised to URL-encode the custom redirection URL at provided HTML codes.

Custom URL verification template In order to prevent abuse of custom URLs, specify a verification string required being fulfilled by a custom URL before redirection is done.

If verification fails, the default URL (as determined at "After logging click, redirect user to this URL") is used instead of.

Within the template string, the placeholder "*" indicates variable content.

Example 1: http://www.sunnyscript.com/*

-> URL "http://www.sunnyscript.com/anything..." is allowed.
-> URL "http://www2.sunnyscript.com/anything..." is disallowed.
-> URL "http://www.starenterprise.com/anything..." is disallowed.

Example 2: http://*sunnyscript.com/item*.htm

-> URL "http://www.sunnyscript.com/item1.htm" is allowed.
-> URL "http://sunnyscript.com/item1s.htm" is allowed.
-> URL "http://www.sunnyscript.com/item1.html" is disallowed.

Pay-per-lead
Pay a commission for each lead ("action") done by the visitor forwarded to your website. Such possible actions are joining a newsletter, filling out an application form, taking a survey or performing a search operation. Please refer to the next chapter for more details about how to implement the pay-per-lead feature into existing 3rd-party applications.
Don't pay for leads Mark this button in order to disable lead based commissions for this program.
Pay this amount per lead Mark this button and type in the amount (without currency signs) you wish to pay for each successfully performed lead.
Pay variable rate per lead Mark this button and type in variable rates according the scheme below you wish to pay an affiliate depending upon its lead activity.

Format: <# leads per period>:<Payment per lead>
(put only one pair into a single line)

<# leads per period>: Minimum amount of leads, that must be reached within a payment period, before the paired commission is granted.
<Payment per lead>: Amount of commission paid per lead.
 

Sample input...
Description...
10:0.49
100:0.80
150:1.20
>= 10 and less than 100 leads per period = 0.49 paid per lead
>= 100 and less than 150 leads per period = 0.80 paid per lead
>= 150 lead per period = 1.20 paid per lead

An unlimited number of combinations is possible.

Usage note: Ranges kept unspecified will lead into not paying comissions for them (e.g. in above sample, for less than 10 leads, no commission is granted).

Count leads In order to prevent abuse of the affiliate program, you may limit the sources for which commissions are granted.
 
Available options...
Description...
Raw leads Each lead is counted.

This setting counts all leads, which makes it not very recommendable due to high risk of abuse.

Leads from unique IP Within a given time period *, each unique IP address is only counted once.

Even if different people (with same IP) are brought to you, just one lead is counted -> budget friendly.

Leads from unique visitor Within a given time period *, each unique visitor is only counted once (recommended selection).

In this way, also people using the same IP are counted correctly, so this is the most fair option.

* Collected IP addresses are kept stored (and blocked) until you select to clear raw data of previous payment periods during payment processing.

Also leads not paid because of this parameter's setting are correctly handled.

Don't require referring document If marked, leads coming from all locations are accepted (recommended).
Require any referring document If marked, only leads coming from websites are counted (e.g. leads originating from e-mails are not counted).
Require this referring document Mark this button and type in an URL from which the lead must origin (referring URL may also be just the beginning part of specified URL, e.g. in case of dynamic URLs).

Usage note: This setting is useful to pay only for leads coming from your website or an other specified location (e.g. location of application form).

After logging lead,
redirect user to this URL
Type in the URL you wish to redirect users after the lead was processed. This can be something like a "thank you" or confirmation page (see top of this chapter for details).
Name of "reference_id" form variable Type in the name of the variable delivered by a 3rd-party software (e.g. search engine), which contains some kind of reference ID.

Its value is used to allow you finding a particular lead later; each reference ID should be unique per lead. Usage of this parameter is optional.

Default setting (if field left empty): reference_id

Technical note: Commissions are only granted one time per unique reference ID (stored IDs are set back when clearing raw data during payment processing).

Pay-per-sale
Pay a commission for each sale made by the visitor forwarded to your website.
Don't pay commissions per sale Mark this button in order to disable sales based commissions for this program.
Pay this commission per sale Mark this button and type in an amount, percentage value (with % sign) or combination of both (+, - operators supported) being granted per sale.

Format (amount): 12.34
Format (percentage): 12.34%

Examples (amount): "0.50", "9.98" or "25"
Examples (percentage): "0.50%", "10%", "15.2%" or "3.123%"
Examples (combined): "10+2%", "9.80%+0.50" or "25-1.25%"

Pay variable commission per sale Mark this button and type in variable rates according the scheme below you wish to pay an affiliate depending upon generated sales.

Format: <Min. amount per sale>:<Commission>
(put only one pair into a single line)

<Min. amount per sale>: Minimum total amount, that must be reached per sale, before the paired commission is granted.
<Commission>: Amount of commission paid per sale.

Important note: Variable commissions are calculated per sale, not per payment period as it is done for click-throughs and leads.
 

Sample input...
Description...
50:3%
200:5%+8.50
750:8%+10
3 % commission for sale totals of 50 or higher.
5 % commission and 8.50 per sale for sale totals of 200 or higher.
8 % commission and 10 per sale for sale totals of 750 or higher.

An unlimited number of combinations is possible.

Usage note: Ranges kept unspecified will lead into not paying comissions for them (e.g. in above sample, for a total amount of less than 50, no commission is granted).

Pre-moderate sale records Mark this button in order to manually approve each done sale before it is added to the concerned affiliate's profile.

May be useful when paying high sale commissions or in case of special risk handling (e.g. order must be first fulfilled before granting commissions).

Important note: If using this feature together with other SunnyScript software, ensure to set the order log format to "New release format, moderated" there.

After logging sale,
redirect user to this URL
Type in the URL you wish to redirect users after the sale was processed. This can be something like a "thank you" or confirmation page (see top of this chapter for details).
Name of "total" form variable Type in the name of the variable delivered by a 3rd-party software (e.g. shopping cart), which contains the total amount of sale.

Its value is used as basis for paying variable commissions, otherwise optional.

Default setting (if field left empty): total

Auto-detecting the content structure of the "total" form variable:

Each source may deliver the total amount in a different layout and formatting (e.g. with extra text parts or surrounding currency signs).

YourAffiliates uses intelligent routines to retrieve the total amount also from a complex string - so you don't have to take care about this.

Name of "reference_id" form variable Type in the name of the variable delivered by a 3rd-party software (e.g. shopping cart), which contains some kind of reference ID (e.g. order-#).

Its value is used to allow you finding a particular order later; each reference ID should be unique per order. Usage of this parameter is optional.

Default setting (if field left empty): reference_id

Technical note: Commissions are only granted one time per unique reference ID (stored IDs are set back when clearing raw data during payment processing).

Name of "purchase_content"
form variable
Type in the name of the variable delivered by a 3rd-party software (e.g. shopping cart), which contains the purchased content of the order.

Its value is used to allow you finding a particular order later. Usage is optional.

Default setting (if field left empty): purchase_content

Technical note: In order to prevent fast growing of databases, the content of this variable should be a summarized shopping cart, not a detailed one.

Recurring sales
Same as pay-per-sale, but allows to pay recurring commissions automatically. For more details, please refer to the chapter "Advanced features, tasks and applications".
Don't pay commissions per
recurring sale
Mark this button in order to disable recurring sales based commissions for this program.
Pay this commission per
recurring sale
Mark this button and type in an amount, percentage value (with % sign) or combination of both (+, - operators supported) being granted per recurring sale.

Format (amount): 12.34
Format (percentage): 12.34%

Examples (amount): "0.50", "9.98" or "25"
Examples (percentage): "0.50%", "10%", "15.2%" or "3.123%"
Examples (combined): "10+2%", "9.80%+0.50" or "25-1.25%"

Pay variable commission per
recurring sale
Mark this button and type in variable rates according the scheme below you wish to pay an affiliate depending upon generated sales.

Format: <Min. amount per sale>:<Commission>
(put only one pair into a single line)

<Min. amount per sale>: Minimum total amount, that must be reached per sale, before the paired commission is granted.
<Commission>: Amount of recurring commission paid per sale.

Important note: Variable recurring commissions are calculated per sale, not per payment period as it is done for click-throughs and leads.
 

Sample input...
Description...
50:3%
200:5%+8.50
750:8%+10
3 % commission for sale totals of 50 or higher.
5 % commission and 8.50 per sale for sale totals of 200 or higher.
8 % commission and 10 per sale for sale totals of 750 or higher.

An unlimited number of combinations is possible.

Usage note: Ranges kept unspecified will lead into not paying comissions for them (e.g. in above sample, for a total amount of less than 50, no commission is granted).

Recurring sales generation interval Type in the number of days between each commission cycle.
Generate this total number of
recurring sales
In combination with the sales generation interval set above, this parameter specifies the durance of paying recurring sale commissions.

Sample configuration to pay a monthly commission for a half year:

Recurring sales generation interval = 30
Total number of recurring sales = 6

Important note: Please consider that the first recurring commission is paid after the number of days passed by specified at "Recurring sales generation interval".

Name of recurring flag form variable Type in the name of the variable delivered by a 3rd-party software (e.g. shopping cart), which contains the indicator to pay a recurring commission.

Its value is used to decide whether or not paying a recurring sale commission.

Default setting (if field left empty): recurring

Expected value of rec. flag variable Specify the content that has to be delivered by the recurring flag form variable indicating to pay a recurring commission.

When you have done all settings, please click on the button "Save parameters" in order to take over the changes to the system or to create the new affiliate program.

Usage notes: You can make modifications to your affiliate programs whenever you like. Each affiliate can have also custom commission settings, please refer to the next chapter for details.

For details about implementation of YourAffiliates into existing software (e.g. e-commerce systems and payment processors), please refer to the next chapter "Advanced features, tasks and applications".
 


 
Advanced features, tasks and applications

This chapter explains common applications, tasks and advanced features of YourAffiliates. Before you proceed, you should have been read the previous chapters (some matters are described there we have considered as being known).
 
3rd-party software integration - overview...

YourAffiliates is designed to work together with most shopping carts, e-commerce products, payment processors and other applications used for your online business.

In the following we want to show how to implement YourAffiliates into an existing software or service solution.

By the way: If you run SunnyScript software, please take a look at the chapter "Helpful hints and technical reference" to get more information about how to achieve cooperation between YourAffiliates and our other products.

Technical note: The 3rd-party software products (e.g. shop systems) or services (e.g. payment processors) may be installed on different servers and may also use different domain names - YourAffiliates will work in all cases.

Enhanced compatible 3rd-party products:

Some 3rd-party products may support YourAffiliates in a special way, like setting affiliate IDs and program codes automatically as well as taking over sale/lead/click-through logging to YourAffiliates' databases.

If a 3rd-party product provides such enhanced features to support YourAffiliates, please follow the provided instructions within its user manual in order to configure the software and YourAffiliates correctly.
 

3rd-party software integration - click-through based affiliate systems...

There is no need to modify existing software or service configuration. Click-throughs will be handled by YourAffiliates directly while the visitors are forwarded to your website.

All your affiliates have to do, is to choose from the HTML codes of the affiliate lounge and add them to their websites.
 

3rd-party software integration - lead based affiliate systems...

Lead based affiliate programs - method 1:

Overview about implementation:

Modify the "thank you" / confirmation page template of the 3rd-party product by implementing YourAffiliates' lead tracking script lead.cgi as hidden image into it (or an equivalent way required by concerned solution).

Important note: This method also works, if the 3rd-party product provides a special parameter to specify a lead tracking script.

3rd-party software pre-requisites:

* Possibility to place an image to the "thank you" / confirmation page template (or equivalent way).
* Optional: Ability to use placeholders for variables' contents (reference ID) within this template.

Step 1... Configuration of YourAffiliates:

There is no special configuration required.

Step 2... Configuration of the 3rd-party product:

Usage note: This step is only mandatory, if the 3rd-party product uses placeholders for system content and you want to submit these information to YourAffiliates - e.g. to prevent abuse, because each unique reference ID is allowed only once.

Determine the name of the placeholder that will be replaced by the 3rd-party product with the reference ID.

Take a look at the schemes below and change our sample placeholder #var1# with the one used by the 3rd-party product (when just leaving ours, it does not work very likely).

Step 3... Implementing lead tracking to the 3rd-party product:

After you have modified the scheme, you should either implement it as IMG tag somewhere to the "thank you" / confirmation page as shown below (location varies on your system, of course) or in the way required by the 3rd-party product.

Scheme to call the lead tracking script without placeholders:
 
lead.cgi

Scheme to call the lead tracking script with placeholder:
 
lead.cgi?reference_id=#var1#

Sample implementation as hidden image (without placeholder):
 
<IMG SRC="http://www.sunnyscript.com/cgi-bin/ya/lead.cgi" HEIGHT=1 WIDTH=1 BORDER=0>

Sample implementation as hidden image (with placeholder):
 
<IMG SRC="http://www.sunnyscript.com/cgi-bin/ya/lead.cgi?reference_id=#var1#"
HEIGHT=1 WIDTH=1 BORDER=0>

By the way: Because of layout reasons, the IMG tag may be shown broken, but it has to be entered as one single line.

Lead based affiliate programs - method 2:

Overview about implementation:

Replace the "thank you" / confirmation page shown after successfully processed leads by YourAffiliates' lead.cgi script. It will manage affiliate tracking (if any) and then forwards the customer transparently to the originally intended page.

3rd-party software pre-requisites:

* Possibility to replace the "thank you" / confirmation page with an URL of your choice.
* Optional one variable is supported to recognize a particular lead, like a reference ID (POST and GET submissions works).

Step 1... Configuration of YourAffiliates:

Customization of variable names:

Go to the screen "Edit YourAffiliates parameters" and select the affiliate program you wish to edit. On the following screen, please go to the part "Paid advertising methods" and take a look at "Pay-per-lead"...

There you find parameters to customize the name of the variables holding the reference ID. Change it according specifications of the 3rd-party product (usage of this variable is optional; reference ID must be individual per action).

Technical note: If you don't want to track a reference ID, please skip this step.

Redirection after commission handling:

Now modify the parameter "After logging lead, redirect user to this URL". Type in the URL of the "thank you" / confirmation page or the concerned page which was replaced by lead.cgi script.

Step 2... Configuration of the 3rd-party product:

Go to the admin panel or open the configuration file of concerned software and change the URL of the "thank you" / confirmation page to call lead.cgi found within the software directory of YourAffiliates:
 

Action to perform...
URL to call (location varies on your system, of course)...
Call lead.cgi of YourAffiliates http://www.sunnyscript.com/cgi-bin/ya/lead.cgi

Technical note: You must call lead.cgi with the same domain name as used for the affiliate URLs.

Lead based affiliate programs - method 3:

Overview about implementation:

The 3rd-party product hands over lead related information (reference ID) using the GET submission method to the "thank you" / confirmation page template, where some JavaScript will take care to affiliate tracking.

3rd-party software pre-requisites:

* Possibility to modify the "thank you" / confirmation page template.
* GET method to transfer variables (POST submissions are not accessible via embedded JavaScript).
* Optional one variable is supported to recognize a particular lead (e.g. reference or user ID).

Step 1... Configuration of YourAffiliates:

Customization of variable names:

Same as described for method 2.

Step 2... Configuration of JavaScript part:

In a text editor, open the file js_lead.txt (which is delivered with the YourAffiliates software package) and look for the part "Setup custom form variable names". These variables needs to be modified:
 

Variable...
Description...
reference_id_variable_name Type in the variable name as specified in YourAffiliates (see above). This variable is then used by YourAffiliates to look for the appropriate data.
lead_cgi_url The URL to lead.cgi of YourAffiliates. Please refer to method 2 for details.

Step 3... Configuration of the 3rd-party product:

Open the "thank you" / confirmation page template used by the 3rd-party product in a text or HTML editor. Decide for a place within this page to call the JavaScript - it should be within the first half of it (best placement directly after the </HEAD> tag).

Now copy&paste the modified JavaScript from js_lead.txt to the template, save it and make a test drive.
 

3rd-party software integration - sale based affiliate systems...

Sale based affiliate programs - method 1:

Overview about implementation:

Modify the "thank you" page template of the 3rd-party product by implementing YourAffiliates' order tracking script order.cgi as hidden image into it (or an equivalent way required by concerned solution).

Important note: This method also works, if the 3rd-party product provides a special parameter to specify an order tracking script.

3rd-party software pre-requisites:

* Possibility to place an image to the "thank you" page template (or equivalent way).
* Optional: Ability to use placeholders for variables' contents (total amount, reference ID, cart content) within this template.
* Granting sales based commissions requires the total amount being delivered.

Step 1... Configuration of YourAffiliates:

There is no special configuration required.

Step 2... Configuration of the 3rd-party product:

Usage note: This step is only mandatory, if the 3rd-party product uses placeholders for system content and you want to submit these information to YourAffiliates - e.g. mandatory for paying variable commissions based upon the sale total.

Determine the name of the placeholders that will be replaced by the 3rd-party product with information about total sale amount, reference ID and/or purchase content.

Take a look at the schemes below and change our sample placeholders #var1#, #var2# and #var3# with the ones used by the 3rd-party product (when just leaving ours, it does not work very likely).

Step 3... Implementing order tracking to the 3rd-party product:

After you have modified the scheme, you should either implement it as IMG tag somewhere to the "thank you" page as shown below (location varies on your system, of course) or in the way required by the 3rd-party product (see its documentation).

Scheme to call the order tracking script without placeholders:
 
order.cgi

Scheme to call the order tracking script with placeholders:
 
order.cgi?total=#var1#&reference_id=#var2#&purchase_content=#var3#

Sample implementation as hidden image (without placeholders):
 
<IMG SRC="http://www.sunnyscript.com/cgi-bin/ya/order.cgi" HEIGHT=1 WIDTH=1 BORDER=0>

Sample implementation as hidden image (with placeholders):
 
<IMG SRC="http://www.sunnyscript.com/cgi-bin/ya/order.cgi?total=#var1#
&reference_id=#var2#&purchase_content=#var3#" HEIGHT=1 WIDTH=1 BORDER=0>

By the way: Because of layout reasons, the IMG tag may be shown broken, but it has to be entered as one single line.

Sale based affiliate programs - method 2:

Overview about implementation:

Replace the "thank you" page shown after successfully processed orders by YourAffiliates' order.cgi script. It will manage affiliate tracking (if any) and then forwards the customer transparently to the originally intended page.

3rd-party software pre-requisites:

* Possibility to replace the "thank you (for your order)" page with an URL of your choice.
* Granting sales based commissions requires the total amount delivered as variable (POST and GET submissions works).
* Optional two other variables are supported to recognize a particular order later (e.g. reference ID, cart content).

Step 1... Configuration of YourAffiliates:

Customization of variable names:

Go to the screen "Edit YourAffiliates parameters" and select the affiliate program you wish to edit. On the following screen, please go to the part "Paid advertising methods" and take a look at "Pay-per-sale"...

There you find parameters to customize the name of the variables holding the total amount, reference ID and cart content. Change their names according the specifications of the 3rd-party product.

Technical note: If you wish to pay only fix commissions per sale and don't want to track more details of an order, then these variables needs not to be set (however it is recommended, e.g. to find a particular order later).

Redirection after commission handling:

Now modify the parameter "After logging sale, redirect user to this URL". Type in the URL of the "thank you" page or the concerned page which was replaced by order.cgi script.

Step 2... Configuration of the 3rd-party product:

Go to the admin panel or open the configuration file of concerned software and change the URL of the "thank you (for your order)" page to call order.cgi found within the software directory of YourAffiliates:
 

Action to perform...
URL to call (location varies on your system, of course)...
Call order.cgi of YourAffiliates http://www.sunnyscript.com/cgi-bin/ya/order.cgi

Technical note: You must call order.cgi with the same domain name as used for the affiliate URLs.

Sale based affiliate programs - method 3:

Overview about implementation:

The 3rd-party product hands over order related information (total amount, reference ID, cart content) using the GET submission method to the "thank you" page template, where some JavaScript will take care to affiliate tracking.

3rd-party software pre-requisites:

* Possibility to modify the "thank you (for your order)" page template.
* GET method to transfer variables (POST submissions are not accessible via embedded JavaScript).
* Granting sales based commissions requires the total amount delivered as variable.
* Optional two other variables are supported to recognize a particular order later (e.g. reference ID, cart content).

Step 1... Configuration of YourAffiliates:

Customization of variable names:

Same as described for method 2.

Step 2... Configuration of JavaScript part:

In a text editor, open the file js_order.txt (which is delivered with the YourAffiliates software package) and look for the part "Setup custom form variable names". These variables needs to be modified:
 

Variable...
Description...
total_variable_name
reference_id_variable_name
purchase_content_variable_name
Type in the variable names as specified in YourAffiliates (see above). These variables are then used by YourAffiliates to look for the appropriate data.

Technical note: GET submission method is mandatory; otherwise only fix commissions per sale can be paid (these variables takes no effect).

order_cgi_url The URL to order.cgi of YourAffiliates. Please refer to method 2 for details.

Step 3... Configuration of the 3rd-party product:

Open the "thank you" page template used by the 3rd-party product in a text or HTML editor. Decide for a place within this page to call the JavaScript - it should be within the first half of it (best placement directly after the </HEAD> tag).

Now copy&paste the modified JavaScript from js_order.txt to the template, save it and make a test drive.

Sale based affiliate programs - recurring commissions:

Paying recurring commissions requires implementing sale commissions either according method 1 or 2.

Also a recurring flag variable needs to be handed over to order.cgi telling whether or not granting recurring commissions. Therefore it is required that the 3rd-party product supports this type of commission, too.

The recurring flag variable has to be implemented like done with the total amount or reference ID (e.g. by using a placeholder).
 

3rd-party software integration - combined affiliate systems...

It's a matter of course that you can combine paying click-through commissions as well as per-lead and per-sale ones.

In this case, just follow the instructions for the concerned affiliate program type above and set the commissions according your needs within the admin panel of YourAffiliates; no special steps are required.
 

Manage system tables - general...

Overview:

The system tables contains system related data, like affiliate profiles, commission settings, sales, processed payments and daily statistics. All system tables can be searched and modified according their specific applications.

Usage note: All modifications made to these tables takes immediately effect to the affiliate lounge. Since most of these actions cannot be recovered, please be careful when altering data.

Table of registered affiliates:

This database contains all affiliate profiles currently existing on the system.

All fields used within this table can be included in registration & update forms on the affiliate lounge to request custom details from your affiliates (doesn't require any template modifications (except mail templates), since pages are dynamically generated).

You can add new affiliate profiles, update and remove existing ones (e.g. in case of fraudulent actions). It is also possible to set individual commission settings here (see below of this chapter).

Tables of logged clicks / leads / sales:

These tables contains all logged clicks, leads and sales.

Manual table modifications:

You can add (update and delete) entries of these tables which takes immediately effect to the open payment period. In this way, you can correct any commission granted by YourAffiliates:

Sample applications may be manual sale commissions for offline generated orders or lead commissions for mailed-in coupons. Accordingly, it is also possible to remove any commission (e.g. chargeback of a sale).

Usage note: In order to process added, updated or removed records, please click on "Recalculate statistics" (see "additional admin tools") or just wait till the next data maintenance is done automatically.

Table of payments:

This table contains all information required to pay out affiliates. Each time you process payments to affiliates, new entries are made here automatically. In this way, you will find all required data to fill out cheques or handle banking transfers.

Table of daily statistics:

Here you find daily statistics which may contain useful information about your running affiliate profiles. Statistics are sorted by affiliates and programs, summarized by day.

Clear old raw data from system tables:

Within "Data maintenance" of the screen "Edit YourAffiliates parameters", you can decide the number of payment periods keeping all collected data, before they become removed.

Depending upon the number of affiliates and generated data volume, you may set the time frame according your needs. After clearance, all removed data cannot be recovered, but summarizations are still kept in the table of daily statistics.
 

Manage system tables - restructure tables...

Before you proceed:

The following information contains details about how to modify the system tables. As an experienced user, you can modify YourAffiliates' system behavior according your wishes.

However please note, that once modifications were made, they cannot be recovered. In worst case, you have to re-install the software with the risk of losing existing affiliate profiles.

Important note: Before you touch the system tables, ensure that you are familiar with YourAffiliates.

Restructure system table:

Click on "Restructure" of the desired system table. Alternatively you can use the "Restructure" link in the upper right corner of the screen appearing when you are inside of a system table (browse its content).

How to add a new or edit an existing field:

Go to "New field name", type in the desired name, select the data type and click on "Create new field". Otherwise look for the field you wish to modify and click either on "Edit" or the field name. Now the screen "Field properties" appears:
 

YourAffiliates asks...
Description...
Field name Contains the name of the table field; you can change it at any time (table parameters are automatically updated with new field name).
Data type Select the type of content being stored in this field:
 
Type...
Description...
text Any content with unlimited size (default).
int Positive and negative integers.
float Real numbers.
date Date in format YYYY-MM-DD.
time Time in format HH:MM:SS.
datetime Date and time in format YYYY-MM-DD HH:MM:SS.
boolean Empty value = false; any other value = true.
image GIF, JPG, PNG & BMP pictures (stored in "binary" directory).
binary Binary content (stored in "binary" directory).
memo Textual content (stored in "binary" directory).
htmlmemo HTML-formatted content (stored in "binary" directory).
uploadmemo See "memo", but use with "upload (other files)" edit control only.
autoinc Autoincrement integer field.
URL Same as text, but URL validation and embedded HTML.
email Same as text, but e-mail validation and embedded HTML.
 
Display label Field label appearing instead of field name set above.
Display comment Comments which appear when adding or updating records, giving some hints to users.
Display mask Advanced users only: Active template for Perl scripts used to format concerned field value in HTML code or to make manipulations with value before output.

Available system variables are $id (contains record ID), $fields{FIELDNAME} and $value (contains the current field's value).

Sample application for display mask:
 

Description...
How to realize...
Field value in bold characters Type in: &"<b>$value</b>"
 
Default value Type in a default value you wish to use for this field, if it is kept unfilled by the user; can be also a Perl script.

Sample applications for default value:
 

Description...
How to realize...
Text based (no Perl scripting) Just type in the desired default value.
Current date & time Type in: &datetime2str(time)
 
Required Click here to mark this field as required.
Unique Click here to mark that this field's content has to be unique in the entire table.
Verification rules Type in rules to verify field's content (multiple rules separated by semicolon); if this is left empty, verification is done based upon used field type.
 
Rule...
Description...
int Positive and negative integers.
float All numbers ("+", "-", "." and digits).
alpha Characters only (A-Z, a-z).
alphanum Characters and digits only (A-Z, a-z, 0-9).
positive Positive numbers only.
negative Negative numbers only.
range:x,y All numbers from x to y.
values:val1,val2, ... Only given values are allowed.
min_size:x Minimum length of required input.
max_size:x Maximum length of allowed input.
valid_email E-mail address checking for correct format.
valid_URL URL checking for correct format.
accepted Required field (same as "required" in field types); e.g. used for checkboxes.
format:<x>::<error> <x> must match a Perl regular expression.
<error> may contain a customized error message, shown instead of the default one when verification failed.

Samples for field verification:
 

Rule...
Allowed content...
range:1,10 All positive numbers from 1 to 10 (e.g. 2, 9.35, ...).
values:yes,no Allowed input "yes" or "no" only.
min_size:5 At least 5 chars required, e.g. postal code check.
format:^\d+\.\d\d$ One or more digits followed by point and two digits, for example: 123.78 (Perl expressions).
 
Edit control Choose the intended edit control type:
 
Edit control type...
Description...
Automatic selection Let YourAffiliates automatically select matching edit control type based upon the field type.
Text input control Standard text input field.
Text input with dropdown list * Combined text input and dropdown list control (requires JavaScript enabled).
Password input control Password text input field.
Checkbox Checkbox (value = 1 when enabled).
Checkbox list * List of multiple checkboxes.
Upload (image) "Upload file" field for images (uploaded content will be stored in "binary" directory).
Upload (other files) "Upload file" field for binaries and memos (uploaded content will be stored in "binary" directory).
Text area Multi-line textbox (applicable for data types "text", "memo" and "htmlmemo").
Radio buttons * Radio buttons.
Combobox (Dropd. list) * Dropdown list.
List * Same as combobox, but items appears as listing.
Multiselectable list * Same as list, but allows to choose multiple items.
Hidden Hidden from users, but may have a value (as it is specified in "Default value").
* Values must be specified in field "Edit control data" below.
 
Edit control data Applicable for radio buttons, comboboxes, lists and multiselectable lists to determine the field content. Format: <Internal used value>|<Displayed value>

For example:
 
  01|Get YourAffiliates now
02|Get EasyData now
03|Get AccessGuardian now
...
 

Edit control width Applicable for text and password input fields as well as text areas. Type in the width of concerned field in characters (this does not set maximum length of field input).
Edit control height Applicable for text areas, lists and multiselectable lists. Type in the height of concerned field in lines (field content can contain more or fewer lines than set here).
Edit control template Advanced users only: Active template for executing Perl scripts.
Column width Type in the width of the table column concerned field appears in. Use either percentage value or pixels; leave empty for standard setting.
Column alignment Select alignment of the table column concerned field appears in.
Cell vertical alignment Select alignment of the table cell concerned field appears in.
Max. size Type in max. number of characters allowed for input.
Images, binary & memo fields: Type in max. file size (bytes) allowed being uploaded.

Important notes: If you edit a system field (all system fields starts with an underline character), some of the settings above may be not available for selection. Don't touch pre-filled settings for system fields; you may negatively affect their behavior.

How to change sorting of fields:

Look for the field you wish to move around and click on either "move up" or "move down" to change its position. This action takes effect to the admin panel and to the dynamically generated affiliate lounge templates (except mail templates).

How to delete a field (use with care only):

Look for the field you wish to remove from the table and click on "Delete". However, please note that once a field is removed, all related content will get lost and cannot be recovered.

By the way: All table parameters are automatically updated and the concerned field becomes removed from these settings.

Empty table:

Just select the desired options and click on the "Clear data" button in order to clear the concerned table. Please note that once a table (or part of it) is cleared, all related content will get lost and cannot be recovered.

Important note: Since all entries of concerned table may get lost, this option should be used with care (e.g. clearing table from test entries before starting to run your affiliate programs officially).

Usage notes: This feature is helpful, if you wish to clear the table of payments (e.g. after several years you may wish to remove all entries made there in order to get back some disk space). You may also reset table of statistics to start from scratch.
 

Manage system tables - change table parameters and layout...

Table layout parameters:

On the "Restructure" screen of concerned system table, there is a button named with "Edit table parameters" which leads you to the table layout parameters screen.

Usage note: The shown table parameters may not be available for all system tables.
 

YourAffiliates asks...
Description...
Table display label Used for admin's convenience only. This parameter can be ignored normally.
Table browsing mode
Sort records by (when browsing) Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or "Up" and "Down" to change field order. You may also decide for descending or ascending sorting (standard).

Alternatively you can type in a comma delimited list of fields manually. Add "-" before a fieldname to sort in descending order (ascending sorting done by standard).

View records per page Number of records displayed per page.
Visible fields * Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

Linked columns Field content is linked and if clicked on, concerned record will be displayed in detailed entry view mode.

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

Detailed entry view mode
Visible fields * Fieldnames shown when viewing a record detailed.

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

"Add record" mode
Visible fields * Fieldnames shown when adding a record (e.g. customer subscribes to your service).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

"Record update" mode
Visible fields * Fieldnames shown when modifying a record (e.g. customer change existing profile).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

* These are required (and important) fields; double-check them for containing correct values.

Search layout parameters:
 

YourAffiliates asks...
Description...
Sort records by default Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or "Up" and "Down" to change field order. You may also decide for descending or ascending sorting (standard).

Alternatively you can type in a comma delimited list of fields manually. Add "-" before a fieldname to sort in descending order (ascending sorting done by standard).

View records per page Number of records displayed per page.
Search fields * Fieldnames available for searching (no binary, memo & image fields).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

Found entry template Specify a template file for "search table" mode or keep default one.

* These are required (and important) fields; double-check them for correct values.

Behavior:
 

YourAffiliates asks...
Description...
"Add record" mode Available parameters:

"Data verification script": Perl script being executed after pressing the "Submit" button (before data is added); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Modify some field values before posting, validate input or update data in other tables or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Field values are read- and writable via hash $fields{<fieldname>}. Just replace <fieldname> with a field of the concerned table.

Cancel posting to the table by making Perl code return number below zero. Return -2 in order to don't display "add form" again. Add error messages to global @errors array.

Usage example ("Data verification script"):

At least one of both fields, option1 or option2, must be chosen...

if ($fields{option1} eq "" && $fields{option2} eq "") {push (@errors, "One of these options must be selected.");-1;} else {0;}

"Record update" mode Available parameters:

"Data verification script": Perl script being executed after pressing the "Submit" button (before data is updated); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Modify some field values before posting, validate input or update data in other tables or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Cancel posting to the table by making Perl code return number below zero. Return -2 in order to don't display "update form" again. Add error messages to @errors array.

Usage example: See above for "Add record" mode.

"Record delete" mode Available parameters:

"Data verification script": Perl script being executed after sending a deletion request (before data is removed); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Validate input or remove data from child table(s) or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Cancel deletion from the table by making Perl code return -1 and adding error messages to global @errors array.

Usage example ("Data verification script"):

If field can_delete is empty, concerned record cannot be deleted...

if ($fields{"can_delete"} eq "") {push (@errors, "Record is marked as locked and can't be removed.");-1;} else {0;}

"Log in" mode Possible applications:

Verify additional conditions before allowing user to log in (e.g. date or time, calling 3rd-party software).

Notes for using Perl codes:

Login variable is $login; password variable is $pwd, Decline logging in by making Perl code returning -1 and adding error messages to global @errors array.

Usage example ("Run this script after logging in"):

If field balance is <= 0, then no login is granted...

if ($table->FindKey($login) && $table->{FieldByName}->{balance}<=0) { push (@errors, "Your balance is not positive. Please remit money to your account first."); -1;} else {0;}

After logging in redirect user to
this URL
Possible applications:

After users are successfully logged in, they can be redirected to specific URLs.

Notes for using Perl codes:

It's an active template ("&" at beginning initializes Perl script).

Available variables are $login (user login), $pwd (user password) and $table_name (name of the concerned table).

Usage example: Redirect user to a page with owned records...

&"search.cgi?tbl=$table_name&filter._email=".escape("='$login'")."&action=search"

Moderation request alert If moderation is enabled you can select to be automatically notified by e-mail when new moderation requests are waiting in queue.
 
Selection...
Description...
Don't send alerts Disable this feature.
After first moderation request Send one message regardless of the number of incoming requests.
After each moderation request Send a message for each new incoming request.
 
Moderation decline note
When declining a moderation request you can optionally send an e-mail notification to the record owner (field _email). Useful on the table of registered affiliates to let (potential) affiliates know about rejecting their changes or sign-ups.
Send "On decline" message when
modification is declined by admin
Mark this button to send out an e-mail notification to record owners telling them about declined moderation requests.
"On decline" message body templ. Specify the template file used as notification text.

Permissions:
 

YourAffiliates asks...
Description...
Anonymous user permissions
Set the permissions for people currently not members of your affiliate system.
Add Allow people to subscribe online through the affiliate lounge. This should be activated unless you have a closed system (e.g. profile creation by the admin only).
Moderate additions New subscription requests will be put in moderation queue first (see main admin menu "Moderate user actions" of registered affiliates' table.
Logged in affiliates
Set the permissions for people having a profile on your affiliate system.
Update own, Delete own Allow affiliates to change their personal profile through the affiliate lounge.
Moderate own updates,
Moderate own deletions
User actions will be placed in moderation queue first to allow verification by admin.

Important note: If you run a referral program, "Add" permission must be granted. Otherwise, new people cannot register online. For increased security, "Moderate additions" should be enabled in this case.

Technical note: If you wish to modify records that are currently in moderation queue, mark the button "Remind to update" when approving these records. On the moderation result screen, you can edit them right away (new browser window opens).

Menu layout:
 

YourAffiliates asks...
Description...
Sub-menu entries Allow or block sub-menu entries; possible values: "add,clone,update,delete".

Database script pages headers / Login script page headers:

Customize the headlines of generated pages; also usage of images (IMG tags according HTML) is allowed.

Table modifications logging:

Check this button in order to log all table modifications (add, update and delete records) to TABLENAME.modif.log located in the "data" directory (TABLENAME is replaced with the name of the concerned table).

In this way, you are able to manually recover lost data or track IP addresses of users trying to cheat your system.

Technical notes: Content of memo / image / binary field types is not logged.

Table automatic maintenance:
 

YourAffiliates asks...
Description...
Maintenance interval (in seconds) Time frame between running automatic maintenance (e.g. system jobs, data backups). Recommended range: 3600 to 43200 seconds (1 to 12 hours).

Data file backing up:

What exactly is backup generation ?

YourAffiliates is able to generate backups of its data files automatically to allow restoring them later. Generated backup files (extension .db.bak) are located within the "data" directory.

Pre-requisites for generating backups:

Maintenance interval: Ensure that a maintenance interval is specified. Please see screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours).

Important note: The backup update period must be longer than the specified maintenance interval.

Enable / disable backup generation:
 

YourAffiliates asks...
Description...
Number of backup files Type in the number of different backup file levels generated (max. 5). Increasing this value gives you a better chance to restore elder data, but also requires more diskspace.
Backup file #1 update period (hours) Specify the time frame between backups are generated.
Rename backup file #x to #x
after this number of updates...
Type in the number of updates processed for the concerned backup file before it will be replaced by the next generation of backups.

Technical notes: In order to disable the backup feature, set "Number of backup files" to 0 or leave it empty. New backups are not generated for unchanged files (since backup already exists).

Recommended backup settings:

Maintenance interval = 3600; number of backup files = 4; backup file #1 update period = 6
Rename backup file #1 to #2 after this number of updates of backup file #1: 4
Rename backup file #2 to #3 after this number of updates of backup file #2: 5
Rename backup file #3 to #4 after this number of updates of backup file #3: 6

<TABLENAME>.db.bak1 holds 0 to 6 hours old database content.
<TABLENAME>.db.bak2 holds 6 to 24 hours old database content.
<TABLENAME>.db.bak3 holds 1 to 5 days old database content.
<TABLENAME>.db.bak4 holds 5 to 30 days old database content.

<TABLENAME>: Name of the table, concerned backup file belongs to.

Retrieve data from backup:

If you wish to roll-back a corrupted data file, just replace the original file with the latest error-free backup copy.

Before doing so, please ensure that the table definition did not change recently (e.g. by adding new fields). In this case, the table definition needs to be set to the configuration of the data file to restore.

Important note: Restoring data files should be managed by an experienced system administrator only. In case of emergency, SunnyScript can provide you with special assistance to professionally handle this task (optional fee-based service).

Helpful hint: In order to create a backup of an entire database, you may use the "Download/upload table package" feature.

"Password reminder" utility:

If a member forgot the password to access the affiliate lounge, it can be re-send automatically by the system at request.
 

YourAffiliates asks...
Description...
Pwd. remember msg. body template Select the file that keeps the notification message.

Important note: Since the admin password is saved encrypted for higher security, it cannot be restored. See chapter "Helpful hints and technical reference" about information on how to reset the admin password.

Templates substitution:

If you wish to use your own templates instead of the pre-defined ones, please select your desired templates here (more details about templates are available in the next chapter). "--use default--" will activate the standard template for concerned output.

Helpful hint: If you're unable to find your recently created templates within the lists, hold CTRL or SHIFT key and click on the "Reload" button of your browser software to reload the browser window (to replace an old copy in cache).
 

Send out mailings...

In order to create a mailing, select the desired table and choose "Send out mailings" from admin panel. Alternatively you can click on "Mailings" in the upper right corner of the screen.

You can send out mailings either to all record owners of a selected table (recipients filter set to "Send to all") or just mail such people who have allowed you to do so (recipients filter set to "Send to subscribed users only").

Mark "Do not send duplicate e-mails" in order to send only one single mail, even a particular address is found multiple times.

Custom recipients filter:

You can specify a search query that filters only recipients matching particular criteria. It is possible to use any field available in the table this mailing is intended for. Click on "view filter results" to get a listing of all selected records.

For example: income>=3000 AND education="high"
Only recipients will receive this mailing which have an income of more than 3000 currency units and a "high" education level.

Usage note: For more details about how to perform search operations, please refer to "Searching of databases (tables)" below.

Personalized mailings:

Personalized mailings contain an individual "To:" field for each recipient. In addition, you can include fields from the concerned table  (format: <!--$FIELDNAME-->) which are replaced by appropriate content.
 

YourAffiliates asks...
Description...
Sender's name and e-mail Type in the name and e-mail address used in the header of outgoing mails.
Message subject Type in the subject line used in the header of outgoing mails.
Message format Select message format, "Plain text" or "HTML" (applicable to recipients' mail clients).
Message body Type in the content of your mailing here.

Sample personalized mailing:
 
  Dear <!--$first_name--> <!--$last_name-->,

you recently added your website <!--$URL--> to our database.

If you would like to increase the popularity of your <!--$BUSINESSTYPE--> company, you should take a closer look at our valuable offers !

With kind regards,
John Smith (my sample company).

Technical note: If "Do not send duplicate e-mails" is marked, a recipient with multiple records receives mail for the first found record only (and so will just see content of table fields for this specific record).

Quick mailings:

Quick mailings are used to send identical messages to all recipients (faster processing). However the usage of personalized elements is not possible (included table tags are removed automatically).
 

YourAffiliates asks...
Description...
Mailing method Mark "Quick" to send out messages by using blind carbon copies.
 
YourAffiliates asks...
Description...
"To:" field Specify one visible "To:" address for the mailing (user addresses are hidden).
Max. number of BCC recipients
per message
Max. number of recipients allowed per message; recommended value: 99.
 

Intelligent mail content delivery:

The most powerful feature is the delivery of intelligent message parts based on a record's content and "if/then/else" conditions. So a mailing can be written absolutely targeted, which leads to higher response rates and increased user convenience.

Important note: This works only with "Personalized" mailing method. "Quick" mailings will ignore intelligent message parts.

Each "intelligent message part" has the following structure:
 
  <!--if <expression>-->
Message delivered when <expression> is true.
<!--else-->
Message delivered when <expression> is false.
<!--endif-->

Usage notes: "if" and "endif" tags are required, while the "else" part is optional. Recurrent tags may also be used.

<expression> can contain these operators:
 

Type...
Allowed operator...
Possible applications...
Mathematical operators +, -, /, *, == Any kind of calculations with numerical field content, e.g. indices, formulae.
String comparison operators eq (equal)
le (less than or equal)
ge (greater than or equal)
lt (less than)
gt (greater than)
ne (not equal)
Comparison of string based field content, e.g. names and selected options.
Numerical comparison operators =, <=, =>, >, <, <> Comparison of numerical values, e.g. age, size.
Logical operators AND, OR, NOT Relationships between fields, calculation and comparison results.

Format of field values: $fieldname (field names are handled case-sensitive).

Sample applications (non-recurrent tags):
 
  <!--if $gender eq "m"-->
Ties for 5 Euro only.
Just a limited time, buy now !
<!--else-->
Parfums starting at 10 Euro.
<!--endif-->

<!--if $income < 20000 AND $intelligence_quotient <= 30-->
Hi <$name>,
participate in our "get rich fast" special offers !
This is your chance to live like the <rich & beautiful>.
<b><i>So start acting now - start today.</b></i>
<!--endif-->

<!--if $index * 10 / $basetax + 0.03 == 2 AND $taxstatus eq "high"-->
Save taxes by ordering our book "1001 (il)legal tax tricks".
<!--else-->
Increase your income by ordering our book "1001 ways to get wealthy".
<!--endif-->

Usage notes: Second sample does not have an "else" tag, which means that a false result will lead into not displaying anything. Should a field value be unavailable (spelling error, non-existing field), then the argument is considered as being empty.

Technical note: It is also possible to use HTML and client-sided scripts (like JavaScript) within intelligent message parts.

Sample application (recurrent tags):
 
  <!--if $gender eq "m"-->
Special offer for <b>men</b> from our drug store:
<!--if $age > 50-->
Gray hair remover for just 9,99 Euro.
<!--else-->
Shaving foam - just 3,99 Euro.
<!--endif-->
<!--else-->
Special offer for <b>women</b> from our drug store:
<!--if $age > 50-->
Wrinkle remover for just 9,99 Euro.
<!--else-->
Lavender bath salt - just 3,99 Euro.
<!--endif-->
<!--endif-->

Usage notes: Parts in green text belonging together. Do not forget to close all "if" tags avoiding malfunctions.

How to perform a test of personalized and intelligent mailings:

In order to let the system process a sample message, click on the button "Send test message to admin". The system then generates a mailing, which is sent to the administrator under real life conditions.

And these default values are used: Numerical = 0; date/time related fields = actual date/time; URLs = http://test.<fieldname>/; e-mail addresses = test@<fieldname>.test; fields in general = test-<fieldname>.

Smart tip: Have a look at MailingStar (plus) - professional mailing list management and e-mail marketing software.
 

Moderate affiliate actions...

Click on "Moderate affiliate actions" (table of registered affiliates). You can also click on "Moderate" in the upper right corner of the screen (where available).

The followingaffiliate actions, which requires your decision. Click on the appropriate button at the end of each record to approve, decline or hold the concerned requested task.

Technical note: If you wish to modify records that are currently in moderation queue, mark the button "Remind to update" when approving these records. On the moderation result screen, you can edit them right away (new browser window opens).
 

Additional admin tools - statistics...

Statistics recalculation:

Click on "Statistics recalculation" in order to process a recalculation of the statistics.

Important note: Under normal conditions this is done by each data maintenance automatically. However in some cases you may wish to get up-to-date statistics without wanting to wait till next data maintenance.

Brief statistics:

Click on "Brief statistics", alternatively you can click on "Statistics" in the upper left corner of each screen. The brief statistics give you a clear comprehensive overview of click-throughs, leads and sales sorted by date and payment periods.

In order to go into more detailed statistics, click on the appropriate links (within date columns). Use the page flicker at the end of each page to jump directly to a later page of presented statistics.

Affiliates family tree:

Click on "Affiliates family tree" to show the relationships between your affiliates. This genealogy report is useful when running a multi-level affiliate program, because it uncovers the referring structure between affiliates.

Additionally when viewing an affiliate record detailed, then near the field "Referrer ID" a link may appear that shows the referrals of the concerned affiliate. In this way, a particular referral branch can be displayed easily.

It is also possible to search for specific affiliates by looking for any searchable content within the profiles. Found records are highlighted within the tree.

Usage note: By clicking at a linked affiliate ID at the tree, you will come to the update screen of this profile. There it is possible to delete the relationship by emptying (or changing) the field "Referrer ID".

Important note: "Recursion detected!" warning near an affiliate profile notifies you that at least two affiliates refers each other (may happen when manually changing the "Referrer ID" of a profile). Please correct such profiles by adjusting their referrer IDs.
 

Additional admin tools - payments...

Pay affiliates:

Process payments to affiliates:

Click on "Pay affiliates" and you'll see an overview about all affiliates currently unpaid. You can decide each single affiliate to get paid or not (if kept unpaid, affiliate's earnings are taken over to the next payment period).

Important note: Affiliates who are above the max. fraud risk are not selected to be paid by default. You should carefully check their profiles and fraud risks before selecting them for payment to prevent abuse of your affiliate programs.

Click on the button "Pay affiliates and close period" in order to process payment. Depending upon your settings, you'll receive a payment report as well as a text file for printing cheques (see below in this chapter).

This comprehensive report contains all details about the current payment period. By using it, you are able to process payments to affiliates in a convenient way (you may customize this report at the templates editor screen).

Technical note 1: The table of payments shows a list of all done payments. So if you lose the mailed payment report, you can process payments by taking all data from this table.

Technical note 2: Before payments can be made, the moderation queue must be empty and the last data maintenance finished completely. In case you have pending moderations or open data, YourAffiliates will ask you to manage them first.

Technical note 3: Commissions for referring new affiliates are not granted, if concerned new affiliate profiles becomes closed before the first payment period ends or in case of declined affiliate actions (moderation features).

Clear databases:

There may appear a section called "Clear data for following payment period(s)". Selections are offered basing upon your settings made for "Data maintenance", parameter "Store clicks, leads and sales data for this number of payment periods".

Clearing the databases does destroy only raw log data to save some disk space on the server. All statistics are kept untouched (e.g. the ones displayed in the affiliate lounge).

Anti-fraud-scanner (real-time):

This screen shows possible fraud alerts as they happen in real time (updated each data maintenance). Profiles with higher fraud risks appears first, so you can investigate possible fraudulent actions at earliest time and are protected against criminals.

YourAffiliates' built-in anti-fraud scanner generates fraud alerts depending upon unusual profile behavior and cheaters trying to cover their original network data; this protects your company from losing money to criminal affiliates.

The more alerts a profile has assigned, the higher is the risk of a possible fraud. You should carefully investigate all profiles showing a fraud risk of more than 20 %.

High fraud risk - and now ?

Before closing a profile and lose a honest affiliate, you should contact the person first and tell about this fraud risk report. The chance is high that cheaters will close their profile and disappear forever while innocent people try to discuss the alerts.

How the fraud scanner works:

Each time data maintenance is executed, the fraud scanner checks all data for fraudulent actions. Whenever a possible risk is detected, the fraud risk percentage value is increased depending upon the level of found risk.

Technical note: In order to avoid invalid alerts, the anti-fraud scanner has a research minimum rule. This rule suppresses alerts for days, which had less than ten clicks for a particular profile and payment periods having less than 30 click-throughs overall.

1. Unique click-throughs:

The minimum ratio of click-throughs coming from unique IPs is expected to be at least 50 %. Daily and overall ratios are calculated and examined for possible cheats.

2. Click-throughs from proxies:

The maximum ratio of click-throughs coming from proxy servers is expected to be not more than 30 %. Daily and overall ratios are calculated and examined for possible cheats (e.g. people trying to cover their original IP addresses).

3. Activity jumps:

Unusual profile activity (higher or lower than normal) is detected by calculating the average activity ratio for a given time period and comparing it with the daily activity of the concerned profile.

4. Multiple proxy servers:

One unique computer (IP address) is allowed to use a maximum of two proxy servers for directing click-throughs. Otherwise the risk is high, that there is a possible abuse of your system.
 

Printing of cheques and payment documents...

Each time you pay affiliates, YourAffiliates is able to generate a text file being printed as cheques or other documents suited for payouts (e.g. banking transfer formulae or address labels).

Modify cheque template:

YourAffiliates will use the template cheque.txt by default to generate printable documents. Since cheques and payment documents in general differ from country to country, you must customize this template first according your needs.

If you have modified it and want to test the correct print layout, please generate a test print file: Go to "Pay affiliates" and follow the instructions at the end of the screen. In this way, you don't lose active affiliate data when just running a test.

How to receive the generated print files:

A copy of this file is attached to the consolidated payment report.

Alternatively, open a ftp session to your server / hosting account and take a look at the directory "cheque.prn" located within the software directory of YourAffiliates. There you'll find all files sorted by date and ready for being downloaded.

Outdated files can be removed from this directory at any time to keep it clear; but you may also let them stored as long as you like to have backups for later references.

Print documents (cheques, address labels & payment formulae):

After you've received the print file, open it with your favorite word processor to print cheques or other payment documents.

By the way: If you like to manage payment documents manually, the admin's payment report contains all data necessary to fill out cheques, process banking transfers and print address labels.
 

Individual affiliate settings...

Each affiliate can have own commission settings: These settings overwrite the ones made for the concerned affiliate programs. In this way, you can reward particular affiliates or provide individual commissions for each profile.

Go to the table of registered affiliates, select the profile you wish to modify and click on the linked ID field to view a profile more detailed. On the upper right corner of the screen, click on "Update"...

The following fields will hold the individual commission settings:
 

Name of field...
Description...
pay_per_click Customize the commission scheme granted per click-through.

Format: <Min. # of clicks per period>:<Pay rate>:<Program>

<Program> is the affiliate program code. Please refer to the previous chapter for a close description of the above commission settings and some samples.

pay_per_lead Customize the commission scheme granted per lead.

Format: <Min. # of leads per period>:<Pay rate>:<Program>

<Program> is the affiliate program code. Please refer to the previous chapter for a close description of the above commission settings and some samples.

pay_per_sale Customize the commission scheme granted per sale.

Format: <Min. amount per sale>:<Pay rate>:<Program>

<Program> is the affiliate program code. Please refer to the previous chapter for a close description of the above commission settings and some samples.

Technical note: If you leave the <Program> parameter, the concerned individual commission applies to all active programs.

Usage notes: Keep the concerned field empty to disable individual settings and use the standard ones. Custom commission settings have higher priority than program-wide ones.

Multi-level affiliate program commissions:

In the case that an affiliate was referred "offline" or you want to remove a particular affiliate profile from the multi-level system, then you need to modify the field "Referrer ID" found within each affiliate profile (see table of registered affiliates).

The field "Referrer ID" holds the ID of the affiliate who brought the concerned profile. So you can remove or change an existing affiliate ID (e.g. to take out this profile from the multi-level program) or type in an affiliate ID to link two profiles together.
 

Public statistics information pages...

Feature overview:

You can add general affiliate statistics to web pages located on the same server / hosting account as YourAffiliates resides.

This feature is suited especially to attract people interested in joining your affiliate programs. In this way, they can see right away how successful your current affiliates are and what kinds of sales they can expect when subscribing.

And if you allow to show top affiliate ratings, it is also attractive for your existing affiliates to achieve high earnings, because the top rated affiliate profiles are named with the ability to visit their websites.

Configuration - software settings:

In order to enable this feature, go to "Edit YourAffiliates parameters", section "Public statistics information pages" and fill in the required parameters:
 

YourAffiliates asks...
Description...
Update these static pages
each re-calculation
List of static web pages (use absolute path and name of file, one per line) you wish to update with brief statistical information about affiliate program details.
Top affiliates number Maximum number of affiliates appearing in these statistical information.

Leave the field empty or set its value to 0 in order to remove top affiliates rating from the public statistics pages (just general statistics are shown).

Configuration - add statistics to HTML pages or other online docs:

Now edit all files specified above by adding the following two lines wherever you want to include these statistics:
 
<!--youraffiliates_public_stats-->
<!--/youraffiliates_public_stats-->

Each data maintenance, the statistics are updated; so the data shown there can be considered as being available in real-time.

Important notes: These lines must be entered as shown, their content is case sensitive. Ensure to set correct file permissions for static web pages to allow page modifications through CGI (ask your server admin for details).

The statistics are generated based upon the templates pub_stat.htm and pub_top.htm. If you wish to customize the layout, go to the screen "Edit templates" (from main admin menu) and look for these files.
 

Database import and export tools...

In order to import or export data, click on the button "Import / export data" available on the main admin menu.

Import data into database:

Click at the button "Start data import..." to begin reading in an existing 3rd-party database.
 

YourAffiliates asks...
Description...
Determine data file being uploaded Choose the file holding the data intended for being imported to YourAffiliates or select an already uploaded one * for processing.

* It is also possible to upload files directly to the server (e.g. via ftp) and then use the admin panel for importing them - please refer below for more information.

Specify data format Select the type of the importable file; alternatively to the pre-defined types, you can also set up a custom format in case of reading special database structures.

Please consult the manual of the 3rd-party database product you wish to import data. If it directly supports YourAffiliates, mark "EasyData exchange format".

Important note: Please ensure to decide for the correct data format, otherwise the imported data may appear being destroyed.

Determine the target table New table:

Select this radiobutton to create a new table for the importable data.

Important note: Ensure to mark "Add autoincrement key field" to automatically add a key field (if not existing) - the first table field must be unique to allow identifying records.

Existing table:

Select this radiobutton and choose the desired table (must have the same structure as the one to import); decide either to replace or update already existing data.

Fields selection and post-processing Determine whether you want to import all fields or just selected ones.

If "Let me select fields after uploading" was chosen, a screen appears after the file was read in that shows a list with fields for being importable.

Mark "Delete uploaded file after processing" to remove the source file from the system as soon as the data import has been finished (recommended).

Click on the button "Import data" to start the importing process. After it is finished successfully, please check the read in data for consistency first. It is also recommended to keep a backup copy of all original database files for later references.

Technical note: Data formats "... with field names" requires that the first line of the importable file holds the names of the fields. Alternatively, default names are chosen you can rename later at any time.

Importing already uploaded source files:

This feature is useful especially when trying to import huge databases, because the file size allowed to read in through the admin panel may be limited by your server or webbrowsing software...

Just place the source file into the directory data/import.tmp. Now go to the admin panel, click on "Import / export data" and select the concerned file from the list (see parameter "Determine data file being uploaded").

Export data from database:

Select the appropriate source table and click on "Continue..." to go to the next screen.
 

YourAffiliates asks...
Description...
Specify data format Select the type of file you wish to build: You can either decide for a pre-defined format or a custom one suited for special applications.

Usage note: If supported by the target database software, choose "EasyData exchange format" to achieve best results.

Select fields to export By default, all fields and their contents will be exported; however you can uncheck fields not required in your target application (e.g. the ID field may be of no usage there).
Set optional data filter Depending upon the available system fields, you are able to set additional filters.

Only records matching the filter criteria (multiple filters can be connected with AND / OR operators) will be exported. This may save additional diskspace.

For example, you can specify a range of records by using the key field filter (ID field) or enter a search query to export only a determined group of records.

Now click on "Export data" to start the exporting process. A "save file" dialog is shown by your web browsing software to store the exported data file on your computer.

Advantages of the "EasyData exchange format":

The "EasyData exchange format" is a tab-delimited text-based format also storing binary field content, like images or software files together with the textual data (URL-encoded).

Where possible, this format should be used for data import and export tasks to ensure best results when handling non-textual contents (all other supported formats cannot handle binary fields).

Technical note: If you are a programmer interested in implementing our exchange format into your own applications, please let us know. We are able to provide you with additional information upon request.

Helpful hint: Should you wish to manually back up an entire database or to carry an existing one over to an other YourAffiliates installation, you may decide to create a "table package" as described more closer in the following.

Table packages - overview:

A table package contains an entire database (the table and all related elements) in one single file (TABLENAME.ede). So table packages are ideally suited for carrying an entire database to an other server or for generating manual backups.

Download table package:
 

YourAffiliates asks...
Description...
Specify source table Select the table being intended for package downloading.
Include log files Mark this button to add all log files to the package (may become very large).
No compression Click here to not compress the table package.
Use internal gzip compression Use the internal compression utility (to pack the table package) or unmark this checkbox and specify external utility as followed.
Use external compression program Click here to compress the table package by using a server-sided tool.

"Compression command template": Contains the command used for compression. By default, YourAffiliates tries to use the gzip compression utility of the server.

The compression command usually has two variables: $file_to reflects the compressed file, $file_from reflects the original source.

"Compressed file extension": Extension appended at file marking it as compressed.

Now click on "Download table" to save the table package. A "save file" dialog is shown by your web browsing software.

Upload table package:
 

YourAffiliates asks...
Description...
Specify ".ede" file Select a local ".ede" file being intended for package uploading.
Decompression method
Compressed table packages needs to be decompressed first.
No decompression Click here to not decompress the uploaded package.

Important note: In the case a compressed package is uploaded but not decompressed correctly, an error message will be displayed and installation aborts.

Use internal gzip compression Use the internal decompression utility (to unpack the table package) or unmark this checkbox and specify external utility as followed.
Use external compression program Click here to decompress the table package by using a server-sided tool.

"Decomp. command template": Contains the command used for decompression. By default, YourAffiliates tries to use the gzip compression utility of the server.

The decompression command usually has two variables: $file_to reflects the target ".ede" file, $file_from reflects the original source.

"Expected filename after decompression is complete": Select either to autodetect the package filename or specify one (has to end with .ede).

Now click on "Upload table" to copy the table package to the server.

Technical note 1: Should there already exist a table with equal name, YourAffiliates chooses a new name for the uploaded table (may be changed later at "Restructure table" screen).

Technical note 2: The choices "Use internal GZIP compression" respectively "Use internal GZIP decompression" for table package down- and uploads are only available, if there is the Perl module "Compress::Zlib" installed.
 


 
Affiliate lounge and template management
Access the affiliate lounge...

The affiliate lounge is the main control area for existing affiliates to check their statistics, get new HTML codes & banners and handle their profiles. The affiliate lounge allows also interested people to join your affiliate programs.

How to access the affiliate lounge:
 

Action to perform...
URL to call (location varies on your system, of course)...
Access affiliate lounge http://www.sunnyscript.com/cgi-bin/ya/login.cgi             or
http://www.sunnyscript.com/cgi-bin/ya/my.cgi
 
 
Affiliate lounge - basic overview...

First step - login or register:

In order to get access to the affiliate lounge, new users must sign-up first to get their own profiles. Members already having a profile can use their affiliate ID and password pair to get access. Both is done on the first affiliate lounge screen:
 

Login screen options...
Description...
Login Use the affiliate ID and password to get access to the affiliate lounge.
Become an affiliate now Click on this link in order to become a member.
Mail password Let YourAffiliates remind to forgotten passwords via e-mail.

Affiliate lounge content:

After you have logged in, you'll see a revenues report which gives you a comprehensive overview about your status and success. In addition, the top menu line provides links to other places of interest (depending upon the current system status):
 

Top menu options...
Description...
Home Go back to the revenues report shown after login.
Profile Update or remove the profile you're logged in with.
Statistics Request statistical reports for the current affiliate profile. The following options are available:
 
Selection...
Description...
Report types
Select the reports you wish to show. Use CTRL key (or appropriate) in order to mark multiple entries within the list.

Usage note: Click on a main report type in order to select all connected sub-reports (this feature requires JavaScript to be enabled).

Time period
Decide for a time period to be shown in reports.
Date Show report for the specified date.
Payment period Show report for the selected period (entries bases upon stored data).
Month Show report for the selected month (entries bases upon stored data).
Year Show report for the selected year (entries bases upon stored data).
 
HTML code Get new HTML codes and banners for the provided affiliate programs.
Payment history Show processed payments for the current affiliate profile.
Logout Leave the affiliate lounge (login page will be displayed).
Help Get additional help information (made available through the admin, see "System parameters" screen).

By the way: This is a good place for a link with further information about how to increase sales and revenues.

 
Affiliate lounge customization with templates...

Templates are used by YourAffiliates to build the affiliate lounge frontend. Each screen shown on the lounge is generated from one or more template files (mail messages are also handled in this way).

By default, a standard template scheme is used. It's the ideal basis to create your own templates or modify the existing ones. More detailed information will follow later in this chapter. You have two choices of modifying the lounge templates:

1. Modify color and font schemes only:

You may adjust the color and font schemes to achieve a similar layout as the one of your business website...

Go to the admin menu, click on the button "Edit templates" and search for "main template" labelled entries. These contains various layout settings taking effect to all sub-templates connected with the concerned main template.

2. Full set of freely configurable templates:

Beside of just customizing color and font schemes with style sheet commands, you can create your own set of templates or re-write the standard ones (they are a good basis for your own templates).

Each template is written in HTML and contains special tags which will be replaced by appropriate content. There's nothing you cannot customize, however you should have a familiar understanding of YourAffiliates and HTML programming.
 

Available templates...

Available templates:

There are three kinds of templates: Main templates contain the master layout; sub-templates hold the layout of output blocks appearing in these main templates; independent templates stand alone.

A detailed list with comprehensive descriptions of all template files is available from the admin panel (see "Templates editor" screen). Please contact our customer service for pre-sale inquiries asking for this list.

Helpful hints: If you create your own template sets, start creating the main templates first to have a better overview. After each single template is ready, run a test-drive to check correct functionality.

Important note: We strongly recommend to keep backup copies of the original template files for later referencing purposes.

Location of templates:

All template files are physically located in the templates directory you specified during installation of YourAffiliates.

As long as you create or modify templates using the admin panel, you don't have to care about. However if you create templates manually, you must copy them to this location, because YourAffiliates only recognizes files in this directory as templates.
 

Customization of templates...

As you may have seen above, each template contains special tags in the format <!--$TAGNAME--> which will be replaced by YourAffiliates with appropriate content (like menu options or system messages).

For some advanced functions, Perl code is used on the templates together with internal script variables. You may just surround these codes with additional HTML tags or modify them as desired (suggested only if you are familiar with Perl).

Important notes: Some tags are specific for selected templates. If you add a tag to a template which cannot use it, concerned tag will be simply ignored. However a missing tag can cause that users are not able to get access to selected features.

If you wish to customize templates, go to the admin menu and click on the button "Edit templates".

List of tags and Perl script variables you can use on templates:

A detailed list with comprehensive descriptions of all valid variables and tags is available from the admin panel (see "Templates editor" screen). Please contact our customer service for pre-sale inquiries asking for this list.

Expert note: Common script variables available in all templates are $in{<form_var>}, which gives access to form variables submitted by the user (<form_var>) and $namespace->{'TAG'}, which offers access to special tag variables.

Custom software solutions:

Contact our sales department to request a free quote for our individual programming and customization services. Our team of experienced programmers and website designers looks forward to take over your project at affordable rates.
 


 
Helpful hints and technical reference
SunnyScript software integration...

YourAffiliates is compatible with most formmailers, shopping carts and e-commerce applications as well as with nearly all credit card and payment processors. However also SunnyScript offers a wide range of products especially designed for YourAffiliates.

In the following, we show how to configure these products to work together with YourAffiliates. If you own a different 3rd-party application, please refer to the chapter "Advanced features, tasks and applications" above.

Smart tip: Have a look at SunnyScript - intelligent software technology for today's Internet commerce.

SunnyShop (shopping cart, e-commerce application):

SunnyShop allows to pay commissions for generated sales made by customers coming from affiliates.
 

Configuration of...
Required actions...
Both products are installed on the same server (hosting account) using the same domain name.
SunnyShop The order log file must point to sales.db within the subdirectory "data" of the YourAffiliates installation on your server. For example: /usr/www/cgi-bin/ya/data/sales.db

The order log file format needs to be set to "New release format".

YourAffiliates The parameter "After logging click, redirect user to this URL" must point to the URL of the shop-frontend.

The parameter "After logging sale, redirect user to this URL" doesn't take effect, because SunnyShop handles the sale logging.

Both products are installed on the same server (hosting account) using different domain names.
Technical note: If you have same domain names, but let encrypt the order procedure using a shared SSL certificate, please refer to the first way as shown above (the used SSL domain name is ignored for paying commissions).
SunnyShop Click-throughs are processed by SunnyShop (sshop.cgi) instead of YourAffiliates (refer to the next row for a sample).

The order log file must point to sales.db within the subdirectory "data" of the YourAffiliates location on your server. For example: /usr/www/cgi-bin/ya/data/sales.db

The order log file format needs to be set to "New release format".

YourAffiliates Modify HTML codes to call sshop.cgi of SunnyShop instead of YourAffiliates' click.cgi. So affiliate URLs must point to the SunnyShop software.

Example: http://maxjump.com/cgi-bin/ss/sshop.cgi?prg=<!--$PRG-->&affil=<!--$AFFILIATE-->

AccessGuardian (access management):

AccessGuardian allows to pay commissions for selling memberships managed by the software.
 

Configuration of...
Required actions...
Both products are installed on the same server (hosting account) using the same domain name.
AccessGuardian The order log file must point to sales.db within the subdirectory "data" of the YourAffiliates location on your server. For example: /usr/www/cgi-bin/ya/data/sales.db

The order log file format needs to be set to "New release format".

YourAffiliates The parameter "After logging click, redirect user to this URL" must point to the URL of the member lounge or - better - a page with information about available subscriptions.

The parameter "After logging sale, redirect user to this URL" doesn't take effect, because AccessGuardian handles the sale logging.

Both products are installed on the same server (hosting account) using different domain names.
Technical note: If you have same domain names, but let encrypt the order procedure using a shared SSL certificate, please refer to the first way as shown above (the used SSL domain name is ignored for paying commissions).
AccessGuardian Click-throughs are processed by AccessGuardian (redirect.cgi) instead of YourAffiliates (refer to the next row for a sample).

The order log file must point to sales.db within the subdirectory "data" of the YourAffiliates location on your server. For example: /usr/www/cgi-bin/ya/data/sales.db

The order log file format needs to be set to "New release format".

YourAffiliates Modify the HTML codes to call redirect.cgi of AccessGuardian instead of YourAffiliates' click.cgi. So affiliate URLs must point to the AccessGuardian software.

Example: http://maxjump.com/cgibin/ag/redirect.cgi?prg=<!--$PRG-->&affil=<!--$AFFILIATE-->

AdvertisingSuite (ad space management):

AdvertisingSuite allows to pay commissions for selling advertisement space managed by the software.
 

Configuration of...
Required actions...
Both products are installed on the same server (hosting account) using the same domain name.
AdvertisingSuite The order log file must point to sales.db within the subdirectory "data" of the YourAffiliates location on your server. For example: /usr/www/cgi-bin/ya/data/sales.db

The order log file format needs to be set to "New release format".

YourAffiliates The parameter "After logging click, redirect user to this URL" must point to the URL of the advertiser lounge or - better - a page with information about available advertising formats.

The parameter "After logging sale, redirect user to this URL" doesn't take effect, because AdvertisingSuite handles the sale logging.

Both products are installed on the same server (hosting account) using different domain names.
Technical note: If you have same domain names, but let encrypt the order procedure using a shared SSL certificate, please refer to the first way as shown above (the used SSL domain name is ignored for paying commissions).
AdvertisingSuite Click-throughs are processed by AdvertisingSuite (redirect.cgi) instead of YourAffiliates (refer to the next row for a sample).

The order log file must point to sales.db within the subdirectory "data" of the YourAffiliates location on your server. For example: /usr/www/cgi-bin/ya/data/sales.db

The order log file format needs to be set to "New release format".

YourAffiliates Modify the HTML codes to call redirect.cgi of AdvertisingSuite instead of YourAffiliates' click.cgi. So affiliate URLs must point to the AdvertisingSuite software.

Example: http://maxjump.com/cgibin/ag/redirect.cgi?prg=<!--$PRG-->&affil=<!--$AFFILIATE-->

MailingStar & MailingStar plus (mailing list management):

MailingStar allows to pay lead commissions for people creating subscription profiles.
 

Configuration of...
Required actions...
Both products are installed on the same server (hosting account) using the same domain name.
MailingStar
MailingStar plus
The leads log file must point to leads.db within the subdirectory "data" of the YourAffiliates location on your server. For example: /usr/www/cgi-bin/ya/data/leads.db
YourAffiliates The parameter "After logging click, redirect user to this URL" must point to the URL of the subscriber lounge or - better - a page with informatling lists.

The parameter "After logging lead, redirect user to this URL" doesn't take effect, because MailingStar (plus) handles the lead logging.

Both products are installed on the same server (hosting account) using different domain names.
MailingStar
MailingStar (plus)
Click-throughs are processed by MailingStar (redirect.cgi) instead of YourAffiliates (refer to the next row for a sample).

The leads log file must point to leads.db within the subdirectory "data" of the YourAffiliates location on your server. For example: /usr/www/cgi-bin/ya/data/leads.db

YourAffiliates Modify the HTML codes to call redirect.cgi of MailingStar instead of YourAffiliates' click.cgi. So affiliate URLs must point to the MailingStar software.

Example: http://maxjump.com/mstar/redirect.cgi?prg=<!--$PRG-->&affil=<!--$AFFILIATE-->

PowerForm (form processing):

PowerForm allows to pay commissions for form submissions (versatile applications supporting leads and sales).
 

Configuration of...
Required actions...
Both products are installed on the same server (hosting account) using the same domain name.
Both products are installed on the same or different server (hosting account) using different domain names.
PowerForm Method 1:

Add a redirection command field to the concerned form calling sale.cgi or lead.cgi as "thank you (for filling out this form)" page replacement.

Method 2:

Call sale.cgi or lead.cgi as an image on the "thank you" page (either the HTML output template or a custom one using the redirection command field).

Please refer to the chapter "Advanced features, tasks and applications" for advanced details about implementing lead.cgi and sale.cgi into an existing software solution.

YourAffiliates If using method 1:

The parameter "After logging sale (lead), redirect user to this URL" must point to the URL of the original "thank you" page intended to be called by the redirection command field.

If using method 2:

No special configuration is required.

General notes about integration of SunnyScript products:

The instructions shown here are only valid for SunnyScript software. Please refer to the chapter "Advanced features, tasks and applications" for information about 3rd-party products and services.

Paying only a click-through based commission doesn't require the special configuration above or any pre-requisite, since this task is handled by YourAffiliates independently.

Sale tracking notes (where applicable):

SunnyScript products tracking sales (SunnyShop, AccessGuardian and AdvertisingSuite) allow to cancel or modify existing orders. Depending upon the made modifications, this may also affect granted commissions for your affiliates:

If commissions have not been paid yet (open payment period), cancelled or modified orders take influence to their concerned commissions, while for closed payment periods canceled or modified orders have no influence any longer.
 

Background processes...

YourAffiliates runs long-living processes in the background, e.g. recalculation of the daily statistics table and affiliate payouts. Depending upon the number of affiliates, server performance and other factors, these processes can take several minutes.

In order to manage this task with highest possible compatibility to different server systems, YourAffiliates uses "fork" function to prevent killing of resource consuming processes by running clone processes with other PID (process identification).

So the allowed CPU time on your server isn't exceeded, but YourAffiliates can manage all tasks without disruptions. In this way, you don't have to take care about the size of your affiliate programs nor deep technical details of your server configuration.

However sometimes "fork" function is not available (this is detected automatically when running the admin panel first time, see "System parameters" screen). In this case, please refer to the chapter "YourAffiliates settings adjustment" ("Data maintenance" of "Edit YourAffiliates parameters" screen) for more details about how to workaround this problem.

Usage note: Even if you lose your Internet connection or your web browser crashes, the background processes are kept alive. Just wait some time (ca. 15 minutes) and then log in as admin again to check for the concerned task done.
 

Amount formatting and rounding...

YourAffiliates is able to process variable commissions (e.g. for generated sales) based upon percentage values. Since such amounts are of float data type, they have to be shortened to fit into your set currency scheme.

YourAffiliates will round each single amount correctly using business rounding rules. However calculations made with rounded amounts may show slight different results than using the original float typed strings.
 

Manage offline generated commissions...

Within the system tables of leads and sales you can also add manually generated commissions (e.g. when processing offline orders via phone, fax or letters or when handling mailed-in coupons):

In order to do so, just go to the concerned system table and click on "Add" in the upper right corner of the screen. Now a form opens, which requests the required information to pay manual commissions.

Usage note: This works also well when you want to grant regular commissions (e.g. during a contract lifetime); in order to do so, initialize a recurring commission sale by setting the "Recurring status" parameter to "Recurring host".
 

Supporting recurring sale commissions...

General overview and setup:

Recurring commissions are sale commissions granted regularly during a certain time period, e.g. for magazine subscriptions or other long-term contracts to reward affiliates based upon the duration of these generated sales.

Each affiliate program can have its own recurring commission system. In order to configure an affiliate program for this kind of commission, please refer to the chapter "YourAffiliates settings adjustment".

For each generated sale, a defined pay-per-sale commission is granted immediately. The first recurring commission is paid after the number of days passed by as specified at "Recurring sales generation interval".

Usage note: Recurring sales are also supporting the multi-level commission feature in full extent.

Managing recurring commissions - table of sales:

There are two types of recurring sale commission records - "recurring host" and "recurring child".

A "recurring host" record is the parent record created for a recurring commission event (sale). Starting from this record, all following commission payments (children) will be generated.

A "recurring child" record is created by its concerned host record depending upon the "Recurring sales generation interval" and "Generate this total number of recurring sales" parameters. It reflects a paid instance of recurring commissions.

You can update or remove a child record at any time by keeping the recurring commission payments alive. However removing a host record will stop paying further recurring commissions for this particular sale. Already paid commissions are not touched, but normal sale commission will not be granted, if the payment period, host sale was generated in, is still open.

Modifying a host record (especially the total sale amount) leads that newly created child records will take over the updated information. This may be useful when a running contract (or general sales event causing recurring commissions) is altered.

Technical note: It is advised to alter the field _add_datetime defining the date/time stamp of host record addition with care only, since this could lead to calculating wrong commissions.
 

Advanced applications and possibilities...

How to provide a starting commission automatically ?

In order to pay your affiliates for signing up, go to the table of registered affiliates, screen "Restructure table" and edit the field total_carryover by setting the desired start-up payment as "Default value".

It is advised that the granted amount should be lower than the min. payable commission amount to prevent abuse (people may register as affiliates to get the reward, but not bringing any new customers to you).

How to provide co-branded webpages ?

When doing special cooperations with some of your affiliates, they may wish to get a co-branded page on your website showing their company name, logo and other specific information. Also for this task YourAffiliates offers a good solution:

1. When creating such a co-branded webpage, add an image HTML tag calling click.cgi; for example:
 
<IMG SRC="http://www.sunnyscript.com/cgi-bin/ya/click.cgi?prg=abc&affil=100" BORDER=0 HEIGHT=1 WIDTH=1>

This will set a cookie on the visitor's computer for the affiliate "100" and program "abc".

2. Upload the co-branded webpage to your server and instruct the concerned affiliate to refer their visitors to the URL of this page, never to the affiliate URL assigned by YourAffiliates during sign-up.

In this way, each time a visitor comes to this co-branded webpage, the correct affiliate ID is set automatically in the background (when calling the pseudo-image). So all types of commissions (click-throughs, leads and sales) will work fine.

Technical note: The "created" image may be noticed as being broken, but since it is just 1*1 pixel in size, it never appears visible on the webpage. Its only intention is to call click.cgi placing the affiliate ID.

Static HTML pages as shortcuts for referring links:

In some cases it may be intended to provide "true URLs" for affiliate links; either just for achieving an improved "look and feel" of your affiliate URLs or better marketability (e.g. business cards or brochures).

YourAffiliates provides the ability to use such URLs by letting you specify a directory and filename scheme when generating affiliate links on the affiliate lounge (HTML generator).

In order to set up the system for this task, please go to the screen "Edit YourAffiliates parameters", section "Static affiliate pages as shortcuts for referring links" (see chapter "YourAffiliates settings adjustment" for details).

For each affiliate and program, one static HTML page is generated (and regularly updated). When clicking at such an affiliate URL, the matching static HTML page is called, which immediately redirects to the intended affiliate program URL.

Important note: After you have configured the system, it is absolutely necessary to perform a test first ensuring that all made settings are correctly - otherwise the entire affiliate system may not work as intended (e.g. producing wrong affiliate URLs).

Enable / disable this feature on the fly:

You can switch to this "true URL" scheme at any time; existing affiliate URLs will still work concurrently to the new ones.

Whenever changes apply to your affiliates or the affiliate programs (program / affiliate added, updated or deleted), then these pages are automatically modified during the next data maintenance.

Turning this feature off later is also possible, but you should keep the existing static pages on the server. Also note that the system then no longer updates these pages, so it is recommended to think thoroughly about having such shortcut pages or not.

How can I show the affiliate ID in printable forms ?

In some cases you may wish to provide printable order forms being sent by air-mail or faxed to you. In order to allow your affiliates receiving commissions also for these sales, you may wish to print the affiliate ID directly on such a webpage.

It may be also desired to read out the affiliate ID and put it into a form field that can be submitted by using a standard formmailer (e.g. order acceptance, pre-sale inquiry forms, creating printable coupons).

For these applications, we have prepared some ready-to-use JavaScript samples you may integrate into any webpage or form. Just have a look at the file js_shwid.txt (which is delivered with the YourAffiliates software package).

Tracking the success of advertisement campaigns:

This application is far from anything related to affiliate management, but also possible with YourAffiliates: Tracking the success of advertisement campaigns, where each ad banner or campaign is set equal to an affiliate.

How to configure such a system:

1. Create an affiliate program pointing to the target URL you want to promote and enable click-through and sale commissions.

It's recommended to set sale commission either to 0 currency units or to 100 % of the total amount, alternatively set the percentage you earn as profit per sale. Same applies to click-throughs. So it is possible to view this data later in statistics.

2. For each advertising campaign, each banner or even each single keyword (like for paid search engine listings), create an own affiliate profile. It's also possible to use one profile and the "custom URLs" feature instead of.

Now do not promote the original target URL, but use the concerned affiliate URL instead of. In this way, you can see which advertisement campaigns bring real sales and which just click-throughs.

And you may not only use this way to track ad banners, but also e-mail campaigns and advertisements in magazines or other "offline" media (done best in combination with shortcut URLs).

A nice side effect is to monitor the concerned advertising sources billing accurate fees (e.g. banner impressions charged are equal to the click-throughs tracked by YourAffiliates).

By the way: The entire tracking system works also with leads (e.g. subscriptions) or a combination of both, sales and leads.
 

Special affiliate tracking (advanced users)...

Since the affiliate ID as well as the affiliate program code are stored as cookies on visitor's computer (named "AFFILIATE" and "AFFILIATE_PROGRAM"), it is possible to read them by using a script or software of your own.

In addition, lead.cgi and order.cgi are able to accept both information also in the URL string as arguments "affil" and "prg" together with other valid ones like the total amount or reference ID. For example: "...order.cgi?affil=100&prg=abc...".

This is helpful when requiring the affiliate information for other applications or having no possibility to read the cookies directly by YourAffiliates (however should cookies be available, the URL arguments have higher priority).
 

Alter affiliate counter...

For strategical reasons, you may wish to start counting affiliate profiles not by 1, but by a higher number, like 100 or 200.

In order to do so, click on the link "Change affiliate counter" shown on the main admin menu (system table of affiliates). On the following page, you can change the starting number of that counter.

Usage note: It is not possible to set the affiliate counter to a number lower than the highest currently existing affiliate profile (since this would cause errors when trying to assign an affiliate ID already existing).
 

Forgot your admin password ?
 
If you forgot your admin password, you must remove the admin password file named admin.pass located in "auth" directory (see software directory of YourAffiliates). Then you can set a new password next time you access the admin panel.
 
Affiliate lounge and template translations...

The affiliate lounge of YourAffiliates is fully customizable and translatable by modifying the existing templates accordingly. In addition, also system messages may be translated:

In order to translate system messages into your desired language, download the files *.en (located in the software directory), which holds all pre-defined text parts and load them into a text editor.

Each language file uses the same structure:
  <Meaning or default text> => <Translation>

Please change only the part <Translation> while keeping the left-sided ones. After you finished translation, please upload the files to your server and give them a try.

Important note: You should create a backup copy of all original *.en for later reference.
 

Advanced search features...

Searching for information:

YourAffiliates provides a wide range of powerful search features to retrieve information from your stored data fast and accurate. In the following, we want to show how to built search operations in an effective way.

Let's first have a look at these two records used to explain the sample operations below:
 
id: 1
firstname: John
lastname: Smith
age: 27
postcode: 12345
city: Samplecity
country: Somewhere
id: 2
firstname: Max
lastname: Smith
age: 12
postcode: 02345
city: Samplecity
country: Somewhere

Usage note: All samples don't consider special features like searchable fields, whole word or case-sensitive search operations. They just refer exclusively to their concerned explained features.

Interpreting keyword searches:

In most cases, you can use any text string for query fields in order to start searching a table.

Sample query: smith
Delivered records: 1, 2

Multiple keywords should be separated by spaces. YourAffiliates automatically adds the logical operator AND unless an other one is specified (read below for details and additional explanations).

Sample query: john blanche
Delivered records: none ("john" is found in record 1, but "blanche" is not existing)

If you are not sure about the spelling of a word (e.g. singular/plural or different spelling alternatives), then just type in a partial word.  YourAffiliates will perform a sub-string search for the provided string.

Sample query: some
Delivered records: 1, 2 (finds string "some" in values of field "country")

Boolean operators: AND (&) OR (|) NOT (!)

The logical operators AND, OR, NOT are supported. Instead of the words AND, OR and NOT you can also use the operator characters ampersand (&), pipe (|) and exclamation mark (!).

Sample query: john AND smith
Delivered records: 1

Sample query: john OR max
Delivered records: 1, 2

Sample query: john ! max
Delivered records: 1 ("!" stands for "NOT")

Technical note: At advanced searches you can specify a default operator.

Parentheses: ( )

Operations put within parentheses are processed first; the result is then used for further operations within the search string.

Sample query: (john NOT max) AND samplecity
Delivered records: 1 ("john NOT max" delivers record 1; then looks there for "samplecity"; both statements are true (AND))

Phrases: " "

Strings put within phrases are searched exactly as they are (not case-sensitive).

Sample query: "sample"
Delivered records: 1, 2 (finds "samplecity")

Sample query: "JOHN"
Delivered records: 1

Wildcards: * ? \

Beside of the standard sub-string search, it is possible to use more specific wildcards for automatically expanding a search operation. Wildcards marking variable parts of a string; they are helpful when looking for word variations and different spellings.

The asterisk (*) is considered as placeholder for none, one or more characters; the question mark (?) is considered as placeholder for exactly one character.

Place an escape character (\) before any symbol to disable its special meaning (e.g. a search for the string "book\*" will look for "book*" as it is written and does not consider the special meaning of the asterisk character).

Sample query: sample*
Delivered records: 1, 2 (would also find "sampletown", "samplevillage" or just "sample")

Sample query: ?2345
Delivered records: 1, 2 (but would not find "012345", since only one character is allowed being there).

Comparison operators: = == < > <= >= <> ~ !~ ~~

Within a search query you may address a specific record field being searched for a given string or numerical value.

Available operators:
 
= wildcard match (wildcard symbols allowed) == exact match (disabled wildcard search, "as is")
< less than > greater than
<= less or equal than >= greater or equal than
<> or != not equal ~ contains text (default operator)
!~ does not contain text ~~ whole word match

Sample query: age <= 12
Delivered records: 2 (looks exactly at the field "age" and disregards other fields)

Technical note: When just entering a string, YourAffiliates converts it into <searchable field> ~ <search string>. In case of using "whole word" match, the search string is converted into <searchable field> ~~ <search string>.

Priority of used operators:

When processing a search request, YourAffiliates first handles all parentheses, then comparisons and finally any boolean operator found (in this priority: NOT, AND, OR).

Search options at "Advanced search" screen:

By clicking at the "Search" link in the upper left corner of the screen you will come to the advanced search area for the concerned active table. Beside of a standard search mask, also the following options are available:

Case-sensitive: Mark this button to handle search operations case-sensitive (CAPITAL and lowercase chars are differed).

Whole words: Mark this button to search for entire words only (recognizes space characters).

Match method: Select whether all arguments must be found (AND) or just one is sufficient to list a record (OR).

Sort by / then sort by: Define sorting of search results over two levels.
 


 
Customer services

Depending upon your license type, this software package includes various support services. Please refer to the license document or visit our website for more information about available services.

Before you contact our customer service department, please read this manual first. In most cases you find the answer here. However if you still experience problems, we will be more than happy to help you...

For all support inquiries, please contact support@sunnyscript.com and provide the following information:

* The license number of the concerned product.
* A close description of the problem or question you have (no file attachments, please).
* For technical inquiries: Used server environment, URL of admin panel & admin password.
 

Now we wish you a great time with our software products :-)

 
© SunnyScript - A subsidiary of Star Enterprise. Visit the SunnyScript website.
Please read our terms of business located at... http://www.sunnyscript.com/terms.htm