General:CustomParameters
From InClickAdServer
Setting Custom Configuration Options
The inClick Ad Server includes a number of options that are not configurable via the User Interface, but through direct modification of a specific configuration file. The configuration file is located here:
/PATH_TO_ADSERVER_ROOT/globals/globals_custom.php
This file is to be edited manually and is not overwritten by upgrades.
Custom Configuration Options
CAPTCHA Color Configuration
This will allow you to change the default colors for the CAPTCHA image used in the Publisher Account Creation process.
$action_vars['system_use_captcha']="yes"; $action_vars['captcha_text_color'] = "#CC56A5"; $action_vars['captcha_background_color'] = "#000000";
Setting the $action_vars['system_use_captcha'] parameter to "no" will disable CAPTCHA.
Default IAB Ad Code Colors
For those that wish to change the system default colors used during the ad code generation process, you can do so using the following parameters changing values as needed:
$action_vars['ad_code_default_border_color'] = "#6699AA"; $action_vars['ad_code_default_background_color'] = "#DDFFFF"; $action_vars['ad_code_default_title_color'] = "#3366AA"; $action_vars['ad_code_default_description_color'] = "#77AA77"; $action_vars['ad_code_default_url_color'] = "#778877";
Using SMTP
By default, the inClick Ad Server will utilize PHP's native mail() function. In instances where mail() is not functional, or if you need to utilize a separate mail server via SMTP, you will need to define your SMTP parameters:
define('INCLICK_EMAIL_SMTP_USE_SSL', true); //When set to true, will use SSL define('INCLICK_EMAIL_SMTP_USE_TSL', false); //When set to true, will use TSL define('INCLICK_EMAIL_SMTP_PORT', 465); //When set will override default of 25 define('INCLICK_EMAIL_SMTP',TRUE); define('INCLICK_EMAIL_SMTP_HOST', 'hostname.of.mailserver'); define('INCLICK_EMAIL_SMTP_AUTH', FALSE); // TRUE or FALSE – password required? define('INCLICK_EMAIL_SMTP_USERNAME', 'SMTP username'); define('INCLICK_EMAIL_SMTP_PASSWORD', 'SMTP password');
A Simple Mail Test - To test your email, perform a password reset using a valid email address you have access to. The inClick Ad Server will send an email to that address providing instructions to complete the password reset -or- an email stating that the email address provided does not have an account in the system.
Keyword Matching Thresholds
The inClick Ad Server utilizes an advanced algorithm for matching the provided keyword from the advertiser to the keyword provided by the search / contextual match system. This algorithm can be further adjusted based on your requirements using the values for following two variables:
$action_vars['percent_of_phrase_search_term'] = .45; $action_vars['percent_of_phrase_campaign_keyword'] = 1.0;
- $action_vars['percent_of_phrase_search_term'] - This is the percent of the words in the search term that must be contained by the campaign's broad match keyword to trigger a match can be from 0-1, i.e. 50% = .5 and would mean that half (rounded up) of the words in the search term must be in the broad match keyword for a match. 0 (zero) means percent of phrase is ignored in this situation.
- $action_vars['percent_of_phrase_campaign_keyword'] - This is the percent of the words of the campaign's broad match keyword that must be contained in the search term to trigger a match can be from 0-1, i.e. 50% = .5 and would mean that half (no rounding) of the words in the broad match keyword must be in the provided search phrase. 0 (zero) means percent of phrase is ignored in this situation.
IAB "Ads by" Location (BETA)
By default, the "Ads by" text in the IAB ad size panels is on the bottom. This can be changed to the top by adding the following line:
$action_vars["inclick_adsby_text_location_top"] = "yes";
- WARNING: This feature is considered beta.
Click Target - Current or New Window
By default, when a user clicks on an advertisement, the advertisers site will open in the main window. In some instances, you may wish to allow a publisher to modify this such that the click event opens a new window (not recommended). To do this, your system must first allow a new window event to occur by adding:
$action_vars['allow_iab_target_window'] = TRUE;
Once added, your publishers will need to add the following parameter to their IAB ad codes:
var server_target = '1';
Disable XML Feed Instructions
This option allows you hide the XML Feed instructions from your publishers. This can be set to on/off or yes/no:
$action_vars['publisher_xml_guide'] = "off";
Disable Ad Code Wizard
This option allows you to hide the Ad Code Wizard, the HTML code generation, from advertisers:
$action_vars['extended_ad_codes'] = "off";
US DMA / Region Targeting
This targeting method is based on two parameters, a parent and a child. In the default active state, this filter parameter is based on US Metro Codes and the corresponding two-character State Code. You can review the preloaded parameters in the inclick_countries_dma table.
To activate the Region Targeting system, add the following line:
$action_vars['system_use_regions'] = "yes";
- NOTICE: This targeting method is independent of Geographical Targeting and requires that you provide the state and DMA code with each ad request to obtain ads targeted to the corresponding region.
Using DMA / Region Targeting
Advertisers When an advertiser creates a campaign on a deployment where DMA / Region support is active, a step is added to Ad Creation and Editing named "Locations". It is important to understand that this method IS NOT related to Geo-targeting.
Ad Delivery In order to use DMA / Region Targeting, you must provide the DMA Code and State ID in the request. For a list of US cities and their corresponding region code, download this file: RegionCodes-US Zip
XML requests will require the following parameter where 000 is the region code and XX is the state ID: region=000,XX
Similarly, JavaScript based requests will require the following line be added where 000 is the region code and XX is the state ID:
var server_ad_region = "000,XX";
The DMA / Region Targeted Results When a request is made for advertising, the system will retrieve matched results for the targeted region AND for ads that did not target a region. While weighting in favor of region targeted ads is given, ads that are not region targeted may appear higher in results if their bid amount warrants.
Photo-Text Ad Advanced Configuration
As of version 4.0.009, the inClick Ad Server added support for Photo-Text Ads, ads that include a thumbnail image as seen here: View Example
To offset additional load on the server, images can be served from a Content Distribution Network - a CDN. By utilizing a CDN, images are served from a location closest to the viewer. This eliminates latency, increases speed of delivery, and lowers load on your web server(s).
By default, the inClick Ad Server will deliver ads from files located from the following location:
http://[ADSERVER_WEBROOT]/data/ad_images/[NUMBER]/[IMAGE_NUMBER].[FILETYPE]
Should you wish to change the location of where images are stored, and/or change the URL from which images are to be delivered, you will need to add the following configuration options:
$action_vars['media_storage_path'] = '/[PATH_TO]/[IMAGES]/[DIRECTORY/'; $action_vars['media_ad_deliver_url'] = 'http://[DOMAIN_NAME]/[PATH]/[TO]/[IMAGES]/[DIRECTORY]'
If you are using a CDN that supports dynamic updates from a defined origin server, you can update the $action_vars['media_ad_deliver_url'] parameter to your CDN URL as needed.
NOTICE: The following IAB sizes do not support photo-text ads and will only display text ads if any are available: * 120x240 * 125x125 * 234x60 * 180x150
When an advertiser uploads an image, the size will be adjusted to approximately 112px x 84px.
Need help setting up a CDN for your deployment? Open a Support Ticket!
Extra Filters (Targets)
The inClick Ad Server contains three customizable filters. With custom filters active, your advertisers are able to filter the advertising efforts to specific targets based on information provided on the advertisement request. For example, a social networking site operator can allow advertisers to target the sex of the viewer provided that the ad request identifies this information. Some users have provisioned one filter for time of day targeting, and another filter for day of week targeting.
To activate the Extra Filters, please open a Support Ticket with your configuration requirements.
Terms of Use Location
The inClick Ad Server includes two Terms of Use files, adstos.html and pubtos.html. These files are located in the following directory:
http://URL_TO_ADSERVER_ROOT/html/
You can define the location of these files by setting the following parameter:
$action_vars["base_tos_url"] = "http://URLAND/PATH/";
http://URLAND/PATH/ is a fully qualified domain name and path to where adstos.html and pubtos.html reside.
Skipping URL Validation for Ad Creation
In some deployments, validation of the provided target URL is not needed. To disable URL validation, add the following:
$action_vars["bypass_url_check"] = "yes";
Disable System Configuration from the User Interface
Once your system is configured, you can disable the ability to configure the ad server from the user interface by adding the following:
$action_vars["configuration_via_interface"] = "off";
Using Cache
The inClick Ad Server can take advantage of an advanced caching model by utilizing a memory caching system, memcached. By using this caching model, your ad server deployment can see a 50-100% improvement in delivery capacity. To take advantage of this service, you must have access to a Memcached service (local or on a separate server).
Setting Up For A Single Cache Server
$action_vars["system_use_memcache"] = "yes"; $action_vars["memcache_host"] = "localhost"; $action_vars["memcache_port"] = 11211; $action_vars["memcache_expiration_time"] = 300;
$action_vars["system_use_memcache"] enables the use of cache.
$action_vars["memcache_host"] is the hostname or IP address of the memcached server.
$action_vars["memcache_port"] is the port used by the memcached server.
$action_vars["memcache_expiration_time"] sets the amount of time in seconds before expiring the cached result(s). Five minutes, 300 seconds, is the standard behavior.
Setting Up For Distributed Cache
Using the similar values as a Single Cache Server, only one line changes:
$action_vars["system_use_memcache"] = "yes"; $action_vars["memcache_host"] = array("CACHE_1","CACHE_2","CACHE_3"); $action_vars["memcache_port"] = 11211; $action_vars["memcache_expiration_time"] = 300;
The only difference between the Single Cache setup and Distributed is the use of array for defining each cache server. Utilizing distributed cache gives you increased transaction volume (requests per second), fault tolerance, and greater system stability.
When configuring your memcached server, be sure to allocate enough memory to memcached. For assistance with setting up your deployment, please feel free to open a support ticket.
Using Third Party Conversion Tracking
When advertising your service, sometimes you want to track how well your efforts are working. While the ad server provides conversion tracking for your advertisers, you also need to track conversions of your advertising efforts as well. The following parameters are designed to allow you to insert conversion tracking codes to track new advertiser and publisher account creation.
Tracking Advertisers
$action_vars["advertiser_signup_conversion_code"] = ("CONVERSION_CODE");
Available variables for your code:
[amount] – The amount of the deposit made. [account_number] – The account number of the newly created account. [account_type] – The type of account just created. (adv or pub) [email] – The email address of the account holder.
Example 1 - Google Adsense Conversion Tracking with Value - This code will trigger a conversion event with Google including the deposit amount made.
$action_vars["advertiser_signup_conversion_code"] = ('<script type="text/javascript"> <!-- var google_conversion_id = 100000000; var google_conversion_language = "en_US"; var google_conversion_format = "3"; var google_conversion_color = "ffffff"; var google_conversion_label = "asdfasd4adgf34_wM"; var google_conversion_value = "[amount]"; //--> </script>');
Tracking Publisher Conversions
$action_vars["publisher_signup_conversion_code"] = ("CONVERSION_CODE");
Available variables for your code:
[account_number] – The account number of the newly created account. [account_type] – The type of account just created. (adv or pub) [email] – The email address of the account holder.
Disable Delivery Randomization Override
When two campaigns from the same advertiser match a given request AND are bidding at the same value (a tie), the default behavior is to initially alternate between the two ads. Over time, the Yield Optimization System will prioritize based on performance with the lower performing advertisement experiencing a lower volume of traffic.
This randomization can be disabled if needed by adding the following parameter:
$action_vars["delivery_use_randomization"] = "no";
inContext - Contextual Engine
The inClick Ad Server includes inContext, our exclusive contextual ad-matching engine. With inContext enabled, the ad server will attempt to match the currently available paid advertising to the content of the page in which the ads are to be delivered. Ads from the house account, account 1001, are not used as inContext indicators.
It is important to note that you must have a few paid ads that are keyword enabled in order for inContext to work effectively. Otherwise, Run of Channel ads will appear until a match is found.
The Indexing Process
The inContext engine processes pages based on certain requirements. Some important information regarding this process are as follows:
- Only pages where an ad code has been inserted will be indexed, not an entire site.
- A page that has ad coded inserted is added to a list of pages to be indexed by the inClick Ad Spider the first time the ad code is triggered, queued for indexing. A background process process the queue indexing the provided URL's later. The inClick Ad Server does not index pages in real-time when ads are delivered.
- If a Keyword or Phrase is provided in the ad code, it will override inContext results.
- Pages are indexed in batches and not in real-time.
- The initial index of new pages typically occurs within five minutes from being discovered, however, can take up to 72 hours depending on a number of factors including page popularity, URL backlog, and system load.
- inContext uses a two stage approach to locate ad matches. At the first stage, a pre-scan occurs before the page has been indexed by the inClick Ad Spider. The second stage occurs after the inClick Ad Spider has indexed the page. Relevancy of the delivered ads improves after the second stage.
- An indexed page will be queued for reindexed and optimization every 72 hours. If a page is indexed now, and new ads are added to the system with a new set of keywords and phrases after the page has been indexed, it may take up to 72 hours for those ads to appear with the new keyword set provided. This is part of the optimization routine and is normal behavior.
- Advertisements created in the House Advertiser Account (1001) are NOT used in the inContext indexing process.
inContext Configuration Options
The inContext engine has a few configuration options available. These parameters are used to fine tune the inContext Engine to your environment as well as configure the engine for multi-spider usage.
inContext Matched Word Count
This parameter allows you to determine how many keywords and phrases found on a page will be stored for contextual ad matching. The system default is 10 words/phrases per URL. Through this parameter, you can increase or decrease this value based on your deployments requirements.
$action_vars["incontext_max_keywords_per_url"] = 25;
In the above example, the system will use up to 25 matched keywords / phrases to advertiser campaigns.
inContext Page Size
This parameter determines how much of a page to review. The default value is to review the first 200000 bytes (200k) of a page. This can be increased or decreased as needed.
$action_vars["incontext_max_bytes_to_index"] = 200000;
Threading and Batches
Every five minutes the inContext spider, a multi-treaded system, will begin index a batch of URLs. Because inContext is a multi-threaded system, multiple spiders will run at one time. You can configure how the spider system utilizes system resources by adjusting how many URLs are processed in a batch, how many spiders can run within that batch, and how many URLs each spider will index at a time. These parameters would be entered as:
$action_vars["incontext_thread_count"] = 4; $action_vars["incontext_urls_per_thread"] = 40; $action_vars["incontext_max_urls_per_batch"] = 400;
$action_vars["incontext_max_urls_per_batch"] is the number of URLs to process per batch, every five minutes. $action_vars["incontext_thread_count"] is the number of threads, or simultaneous spiders, to run for each batch. $action_vars["incontext_urls_per_thread"] is the number of URLs each thread, or spider, will index.
In the example settings above, a batch of 400 URLs will be indexed by no more than 4 spiders at one time. Each spider will index 40 URLs at which point the spider stops and a new one is started. Depending on the configuration of your hardware, you can adjust these values as needed, raising and lowering values based on what your hardware is capable of handling.
For most users, the default settings will work just fine. To determine if inContext is behind, log into your inClick Ad Server deployment as the admin and go to Reports > Server Status. Under the inContext Status, take a look at the "Oldest Awaiting Reindex" column. If the date is less than a few days, inContext is keeping up with the URLs to be indexed. If this value is greater than a few days, you may need to adjust these settings or use a dedicated inContext Spider Server or Servers.
Load Balancing the inContext Spider(s)
If your network has grown to the point where you have millions of pages to index, the inClick Ad Server provides for the ability to use separate hosts to perform the task of indexing. Before you can point to an indexing host you must be sure that the host is a correctly configured ad server deployment. Assuming this has already be completed, you would add the following configuration parameter:
$action_vars["incontext_base_url"] = array("http://host1/path_to_ad_server_root/", "http://host2/path_to_ad_server_root/", "http://host3/path_to_ad_server_root/", "http://host4/path_to_ad_server_root/" );
In this code example, we have defined four indexing nodes including the path the ad server.
- TIP: If you are using at least one dedicated indexer, be sure to increase the number of URLs per batch as well as the number of threads.
Adjusting Relevancy Boosts
The inClick Ad Server allows you to tune the scoring mechanism for advertisement delivery. For example, if you configured the Relevancy Boosts such that an exact match keyword would receive a boost over a broad keyword match, the behavior of the results would change. Consider the following scenario:
You set the Relevancy Boost system to give a 50% boost to exact matched ads.
Advertiser A is bidding $1.00 on the broad match of "web hosting"
Advertiser B is bidding $0.75 on an exact match of "cheap web hosting"
Advertisement request is made for "cheap web hosting", both ads match. However, because this request matches an "exact match" term for Advertiser B, it is given a relevancy boost of 50% giving Advertiser B priority over Advertiser A. With the Proxy Bidding process enabled, historical data may suggest that the exact match advertisement be delivered at a lower cost due to its good performance for this keywords – the bid optimization process.
To modify the Relevancy Boosts, add the following:
$delivery_relevance_boosts = array( "default" => array( "region" => .2, "geo" => ".2", "filter1" => .2, "filter2" => .2, "filter3" => .2), "none" => array("base" => .2, "region" => .2, "geo" => ".1", "filter1" => .2, "filter2" => .2, "filter3" => .2), "broad" => array("base" => .1, "region" => .2, "geo" => ".3", "filter1" => .4, "filter2" => .5, "filter3" => .6), "phrase" => array("base" => .2, "region" => .2, "geo" => ".1", "filter1" => .2, "filter2" => .2, "filter3" => .2), "exact" => array("base" => .2, "region" => .2, "geo" => ".1", "filter1" => .2, "filter2" => .2, "filter3" => .2) );
The above array represents the request keyword match type with the boost parameters for that given match type. For example, if the ad request is a broad match keyword match, ads that also match the region would have a 20% boost, country match another 30% boost, a filter 1 match another 40% boost, a filter 2 match another 50% boost, and a filter 3 match another 60% boost to their delivery score.
Disable Email - Route Email to Admin
This configuration option allows you to redirect all outbound email to a single address. This includes all welcome emails, password reset requests, anything that is sent by the system. This setting is typically used for debugging only.
$action_vars["redirect_emails_to_admin"] = "yes";
Hide Suggested Bid Amount
If you do not wish to provided a suggested bid amount to your advertisers, set the following parameter:
$action_vars['show_suggested_cpc'] = "off";
Daily Budget or Monthly Budget
This configuration option allows you to expose the Monthly Budget option for campaigns. When active, advertisers will be able to provide both a daily budget as well as a monthly budget for each campaign.
$action_vars['system_use_campaign_monthly_budgets'] = true;
Alternate Ads Priority (Filler Content URL)
This configuration option sets the alternate ad priority over Run of Channel ads.
$action_vars["alternate_ads_after_run_of_channel"] = TRUE;
Parameter Value Behavior TRUE Allows Run of Channel ads to appear when no content matched ads are available. If no Run of Channel ads are available, the alternate ad is shown if defined. FALSE Will display the alternate ad if defined. If it is not defined, then Run of Channel ads are shown.
API Service Key(s)
The API Service Key are keys you create for authenticated access to API services available in your inClick Ad Server. API Keys are set using the following array parameter:
$action_vars["api_service_keys"] = array("key_number_1", "key_number_2", "3kjDs03m");
In the above example, we have three keys configured. This allows you to revoke keys as needed.
- WARNING: The API is not intended for public consumption. Do not provide an API key to your users!
Want more information about the API? Visit here for details, example code, and more.
Daily Budget Multiplier
The default configuration of the ad server requires the daily budget to be no less than 30 times the bid amount. In some instances, this may not be ideal, be a higher or lower value. This configuration option allows you to define this multiplier. For example, to set the minimum daily budget to 10 times the bid amount, you would use the following array parameter:
$action_vars['system_minimum_daily_budget_multiple'] = 10;
