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:


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.

Setting the $action_vars['system_use_captcha'] parameter to "no" will disable CAPTCHA.

Disable CAPTCHA Usage

Should your requirements not need CAPTCHA, you can disable it.

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:

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:

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'] - 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)

(Version < 4.1)

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:

WARNING: This feature is considered beta. This feature is no longer available as of version 4.1

Click Target - Current or New Window

(Version < 4.1)

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:

Once added, your publishers will need to add the following parameter to their IAB ad codes:

WARNING: This feature is no longer available as of version 4.1.

Click Target - Current or New Window

(Version >= 4.1-002)

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:

Publishers will not have an option to change this behavior.

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:

Disable Ad Code Wizard

This option allows you to hide the Ad Code Wizard, the HTML code generation, from advertisers:

US DMA / Region Targeting Version < 4.1

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:

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.

US DMA / Region Targeting Version ≥ 4.1

NOTICE: As of release version 4.1, Region Targeting is linked to the IP Address of the person viewing ads. Region support is currently limited to US States and Regions. This will be expanded in future release cycles.

This targeting method extends targeting down to US States and US Regions based on the IP address of the viewer.

To activate the Region Targeting system, add the following line:

This option will become available to advertisers if, and only if, they select United States with no other countries for Geographic targeting.

Media Delivery Advanced Configuration / CDN

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:

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:

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:


You can define the location of these files by setting the following parameter:

http://URLAND/PATH/ is a fully qualified domain name and path to where adstos.html and pubtos.html reside.

Alternatively, you can define the direct URL and file name:

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:

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:

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"] 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:

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

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.

Tracking Publisher Conversions

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.

Delivery Randomization Override for Bidding Ties

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:

Delivery Randomization - General Randomization Frequency

(Version > 4.1.001)

As part of the yield optimization process, the inClick Ad Server will occasionally randomize qualified results for a given request. This randomization process, and the window of candidate ads, is configurable.

The following is the frequency at which the system will randomize results. In this example, it is set for 30% (the default value):

The following is the randomization window multiplier. This defines the result count multiplier to randomize within. The default value for this setting is five.

Example Use Case


  • Ad Request Size: Leader board
  • Ad Request Type: Text Ad

In this example, up to three text ads can fill a leader board (728x90). Using the default settings, 30% of the requests for ads will be randomized across up to 15 qualified ads for the given request.

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.

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.

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_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:

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.

Changing the inContext User Agent

The default inContext User Agent is defined as:

Contextual Ad Bot; http://yourdeploymenturl

The name portion can be modified by adding:

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:

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.

Hide Suggested Bid Amount

If you do not wish to provided a suggested bid amount to your advertisers, set the following parameter:

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.

Alternate Ads Priority (Filler Content URL) / Backup Ads

This configuration option sets the alternate ad priority over Run of Channel ads.

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:

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:

Publisher Status Threshold

(Version ≥ 4.1.001)

When viewing various reports that include the publishers Status, the inClick Ad Server will display "Active (Low Volume)" for publisher accounts that have a balance of less than $1.00. "Active (Low Volume)" and "Active" are the same with the exception of the balance.

This status can be adjusted to a lower or higher threshold based on your specific requirements.

Sub Penny Bidding / Fractional Bidding

The inClick Ad Server allows for rates as low as $0.001 and bidding increments as low as $0.001. To activate Fractional Bidding, use the following configuration setting:

Once set, you can enable Fractional Bidding on a per channel basis:

  1. Log into your inClick Ad Server deployment as the admin.
  2. Go to Channels > Manage Channels
  3. Click on Edit for the channel you wish to employ sub-penny bidding.
  4. Modify the Minimum Cost-per-Click to 0.001
  5. Modify the Minimum Bid Increment to 0.001
  6. Click on the Save Channel button to commit changes.

AdChoices Icon Configuration

For the factory ad codes that deliver an image based ad (not text or photo-text), the Ads By link becomes an image. In the default configuration, we utilize the industry standard "Ad Choices" icon, the Digital Advertising Alliance (DAA) Advertising Option icon.

The system uses two images: one for the icon itself and one for the hover event. This icon can be changed with any image you wish by defining the two images:

The factory image sizes are:

  • 14px x 14px
  • 70px x 14px

inContext Spider Timeout Configuration

The factory configuration of the inContext Spider is five seconds. This is configurable as needed for your use case. For example, the following sets the timeout limit to 10 seconds:

Pluggable Content System