Self Hosted Trial Tracking Form Setup
To set up your own self hosted trial tracking request form, follow these steps:
- Incorporate the source from the following sample form into a page on your web site:
http://secure.softwarekey.com/solo/templates/TrialSignupSample.htm
This sample page contains all fields available for capture within the SOLO Server database. Notice that the form posts to the trialsignup.asp page on SOLO Server, and calls a validation routine on submission. The validation routine relies on validation methods from the client_validations.js file on SOLO Server, which is included in the page as well. For more information on this, see Client Validation Script. The fields included on the sample trial download form are as follows:- Customer contact details:
- Company Name
- First Name
- Last Name
- Email Address (required)
- First Name
- Last Name
- Address Line 1
- Address Line 2
- City
- State/Province
- Postal Code
- Country
- Phone
- Other information:
- Source (i.e. Heard From)
- Misc 1-7 - These fields are user defined, and can each capture a string of 50 characters or less.
- Customer contact details:
- Determine which contact details fields you want to capture from your customers. The only required field is the email address, in the form field "Email". In the following steps, the Email field/validation routine cannot be deleted, or an error will be returned upon posting the form.
- Delete the form entry and the validation routine for any fields you do not want to capture.
- For the remaining fields, determine which ones you want to require. For these fields, update the validation routine so that last term is true, for example:
- ValidateStringField(theForm.FirstName, "First Name", true)
- For the "MiscX" fields, determine what miscellaneous demographic information you want to capture for each field. You can capture data for none of these fields up to all 7 of these fields. Once you have determined what, if any demographic information you want to capture.
- Delete the form entry and the validation routine for any fields you do not want to capture.
- For the remaining fields
- Update the form to show a descriptive label for each field.
- Update the validation routine so the second term matches the descriptive label for the field, for example:
- ValidateStringField(theForm.Misc1, "Age", false)
- If the field is required, update the validation routine so that the last term is true (see example above for the contact details fields).
- Note that it is not required that the MiscX fields be text fields. You can also use drop down lists (the values for each entry must not exceed 50 characters) and checkboxes. If you decide to use something other than a textbox, just be sure you use the same "MiscX" name for the input.
- In addition, there are several hidden fields in the form, described below:
- ProductID - Set to the ProductID the trial is for. This is required, and if omitted, an error will be returned upon posting the form.
- SuccessURL - If you want to host the success page yourself, set the to the URL you would like SOLO Server to redirect to after successfully saving the data. This is optional, and if omitted SOLO Server will use the Trial Text HTML or Trial URL to display the success message to the user.
- FailureURL - If you want to host a failure page yourself, set to the URL you would like SOLO Server redirect to if there is an error. This is optional, and if omitted SOLO Server will display an error message to the customer. Error messages are returned to this page in the "error" querystring parameter, and can be the following values:
- Invalid Product - The ProductID is invalid or is missing
- Trial Disabled - The account does not have trial tracking enabled
- Missing Email - The email address is missing
- Invalid Email - The email address is invalid
- Invalid Configuration - The current trial configuration is invalid. This means that the trial parameters on the product are set up such that there was no Trial Mailing Welcome, Trial Text HTML, or Trial URL, and a SuccessURL was not posted with the form. Because of this, the customer has received no instructions to download and install the trial.
- DistributorID - The DistributorID to be associated with the trial download. This is optional. If omitted, SOLO Server will attempt to find a DistributorID from the distributor tracking cookie if it is present.
Note the OtherInfo field at the top of the form. This field is optional and used for a "honeypot" CAPTCHA. This works by attempting to trick automated form filling bots into populating a field not visible to a regular visitor (note the table row is hidden through the css display property). If this field is included and found by SOLO Server to be populated, SOLO Server will reject the request on the assumption that an automated spam bot is filling out the form.
If you are experienced with javascript, you can extend the validation routine to perform more precise checking of the contact information fields, specifically validating that the state/province and postal code fields are valid values for US and Canadian addresses using the ValidateUSStateField, ValidateCAProvinceField, ValdiateUSPostalCode, and ValidateCAPostalCodeField functions. In these cases, you must come up with conditional processing code, only using these methods if the country is US or Canada accordingly. See Client Validation Script for more details.
Trial tracking is an add-on service. Contact us for current pricing and availability.