====== Settings ======
====== CJ Settings ======
Most settings are straightforward, but some deserve more explanation.
===== Counted clicks Max =====
The maximum number of clicks per user that will be counted in statistics. Additional clicks are still sent out but not counted.
===== Next click is a click number =====
Which click number is tracked for the Next Click column (see [[Second Click]])
===== Spiders UA =====
This list identifies bot traffic by user agent strings. For advanced tools like Mindmax that use ASN detection, you can add patterns like:
$MM_ASN:15169
===== Header Check =====
This feature validates HTTP request headers to identify bots and proxies. For example, it can check if a browser supports gzip compression (most real browsers do, but many proxies don't). To use it:
- Go to Settings > CJSettings > Header field checks
- Set it to "Accept Gzip Encoding"
- In Settings > Layouts, add a Header Check column
Advanced users can check any header field.
**Trade Formula** – pay attention to [[Trade Formula]]
**Count hits with referer other then main domain** – count hits if the referer is not our domain. For example, someone might link from their site directly to your out.
**Default Firstclick** - default first click ([[First Click]]), works if not specified elsewhere in the URL or trader settings.
**Cookie lifetime** – lifetime of the cookie that the script sets (by the cookie the script determines the uniqueness of surfers), in seconds. 86400 – one day.
**Top position keywords** - keywords separated by commas to determine your position in the trader's top. [[Top Positions]]
**Admin Auto Refresh** - automatically refresh the main Trade screen through the specified number of seconds.
**System email** - email used by the script to send you emergency messages. It is not shown on the signup page, and in general is only visible in the admin.
**Check main pages changes** - this feature is designed to fight server hacks, or rather their consequences. The script automatically checks the pages listed in Settings -> CJPages and upon changes sends mail to "System email".
===== URL to add to galleries =====
additions for all gallery URLs. This is needed if you want to open master galleries in a frame. Here's an example of how this can be used:
For example, you have a link:
Webmaster's gallery
when you click on it, the script sends to http:/webmaster/gallery.html
But we want to open the gallery in a frame, that is, our ads at the top and the master's gallery below.
First create a PHP file, call it frame.php and put it in the root domain
Gallery
This script creates a frameset with your ads at the top (80px) and the gallery on the rest of the screen
Set 'URL to add to galleries' to
/frame.php?url=
and when clicking on URL
Webmaster's gallery
the script will send to
/frame.php?url=http://webmaster/gallery.html
**System proxy** proxy used by the script for all Internet requests.
**Advanced TOP settings** parameters for creating top lists, described in detail in [[Toplist]]
**Processed Data** - data that is recorded in the database. Theoretically, if you have a very large site, for example 5+M, to reduce the load on the database you can disable processing of, for example, refs or any other information that you don't use. In practice, this is usually not necessary, if you had the idea to disable something - it's better to contact support, let's try to solve the performance issue.
**Extra Traffic Settings** settings that you probably won't need to change :) so here we have
ExtraHits URL - if the surfer clicked through all traders at all or alternatively traders in the group specified in the out parameter (&group=), then the script sends him 1 time to exout, clears the cookie, and supposedly next click for the surfer starts from the beginning. In practice, such mega-active surfers more often fall into overclicks and in the exout column in the vast majority of cases will always be 0.
Send exout to traders - this is the 2nd reason why exout is always 0. Even if the surfer clicked through all traders that we owe, should we send him to traders that we don't owe. That is, a surfer came, clicked through all traders that we owe something to. Now we need to send him either to those we don't owe or go through the 2nd round to those we do owe. To not breed raws at traders, by default we send traffic even to those we don't owe.
Send exout to galleries - if the server clicked through all traders (again unlikely, unless you have 5 traders in total) then all his remaining clicks can be sent to galleries (of course, if there's a &url= parameter in the out URL). Actually this parameter is read as setting 100% skimming on a surfer who clicked through all traders.
===== Trade by country quality =====
The script determines what countries the trader is sending you and tries to return the same. That is, if the trader is sending you China, the script will also return China to him.
If you're trading with a script that has the same functionality - watch the beginning of the trade, because there could be looping on a country. For example, the first couple of hits went to China and the exchange went exclusively for China.
Good\bad pages are configured in Settings - Quality Settings.
===== After all trades from outgoing list send to =====
Basically the script sends by the outgoing list, usually a list of 10-15 traders. see [[Out Settings]]
After a surfer clicks through all traders in this list, he has several options.
* send him to traders outside this list
* clear the cookie and start from the beginning of the list
* 100% to URL (to galleries)
* 100% to a specific URL (exout)
===== CJ Pages =====
List of main site pages. see [[Start Here]]
===== Layouts =====
Here you can select which columns you would like to display in Trade, as well as colors for these columns.
At the same time you can create several presets and switch between them "on the fly".
===== Templates =====
You can edit templates for various pages, the most interesting of which is wm_signup.tpl - this is the signup form template for traders.
===== Config Files =====
Various data files for the script, for example, lists of user agents with which the script goes when grabbing galleries, languages, lists of SE domains for determining SE trader in statistics, etc.
====== New trade ======
Pay attention to Settings -> NewTrader– these are exactly the settings a new trader will get by default.
====== Second Click ======
A parameter showing what percentage of surfers make more than one (optionally 2nd, 3rd ...) click on your site. For this, the Next Click parameter is set in [[CJ Settings]], in the CJ Settings -> Layouts menu a Next Click column is added. The value of this parameter can be seen in the main Trade screen opposite each trader.
The meaning of this parameter is something between anti-cheat and trader productivity statistics. Pay attention to the deviation of traders from the average values of this parameter for the site.
====== Top Positions (TopPos) ======
Allows you to determine your position in the trader's top. This helps determine whether you're overflowing the trader with traffic to such a point that he can't return you the appropriate amount of traffic. This often happens if you end up in first place in the trader's top.
The script downloads the trader's page, tries to find the top traders on it and finds your place using the words specified in the Top positions field ([[CJ Settings]]). The accuracy of the definition is not 100%, but at a fairly high level.
The position that the script determined is visible in the popup of each trader.
====== Out Settings ======
Imagine a site that has one very strong trade and the rest are so-so. By priority for receiving hits, this site will constantly be first, because of which the rest of the sites will at best get second hits, and the first will always go to this strong one. In such a situation, the other trades either won't take off at all, or will do so very slowly. To avoid such a situation, there are out settings. We take conditionally the first 10 trades in the queue to receive a hit and randomly give the hit to one of them, but to maintain priority, the probability that the first in this list will get the hit is higher, the second is somewhat lower, and so on. In the settings we just specify the spread between places. You can make it so that the first hit goes to first place 50% or 99% of the time. This changes the meaning of the trade. From the beginning, the ratio for normal even trade is set, but feel free to experiment =)
====== Trade Activation ======
Automatic activation of trade if it meets all conditions described in the menu.
Important: the activation system only processes those trades that have the status 'No, till trade activation'.
Let's summarize the data on activation or suspension of trade.
Trader with status No (Not active) - does not activate, is not forced, etc., this is a completely disabled trader. Traffic will be counted on it, but nothing goes to it and it cannot auto-activate.
Yes - active, from this status the trader can be deactivated by various systems, one of which is Trade suspend. Its settings exist for each trader and are simple: Suspend trade if we have less then X hits during Y hours in a row.
Trade suspend - deactivates the trader to status "No, till Trade Start Limit". So if you need to auto-activate a trader if he starts sending traffic - set Trade Start Limit = 1 (or 2-3 to avoid random clicks) there as well
Accordingly, it's convenient to set default trade suspend & trade start limit settings for all traders, but then there's a problem with new traders. That is, a trader was added, sent a couple of hits and he's already active by the Trade Start Limit rule. To prevent this, for new traders, either set status "No" and they are all reviewed manually, or "No, till Trade Activation System" and then the trader is activated in accordance with the Activation System settings.
In total, it seems to me that the most convenient option if you want to activate \ deactivate traders:
* New trader has Suspend trade settings - for example, received 0 in 3 days - deactivate. Trade Start Limit = 2 and default status "No, till Trade Activation System"
* When it is added, its traffic should meet the Trade Activation System conditions
* During the trade, if it doesn't send - it is automatically deactivated to status "No, till Trade Start Limit"
* If it starts sending - automatically activated by the Trade Start Limit system
====== BlackList ======
Blacklist protects you from registering trade with domains that you don't want to trade with. Here you can use *.
For example
*.yourdomain.com - forbid registration from any subdomains of yourdomain.com
*.*.com - forbid registration of 3rd level domains.
When adding a trader to the BL, if it was banned due to cheating, please write the reason for the ban and add it to the global BL. In this case, another script user who trades with a cheater will learn about this ban and can also delete this trade. Together we can create a truly convenient and full-featured BL.
====== Quality Settings ======
To properly assess the quality of traffic from a trader, there are Quality Settings. For example, if a trader is sending you Chinese or Russian traffic, you can choose not to count such clicks or count them with a reducing factor. You can also count clicks through a proxy and with JS disabled with a reduced factor.
Example. A trader sent a surfer who made 10 clicks, all these clicks go through a proxy. ProxyDiscount– 20%. This means we will count only 10 – 20% = 8 clicks for the trader.
In our case, we decided that China (ch) and Russia (ru) - are less solvent countries and we would like to return less traffic to traders who send such traffic. In our example, we will evaluate the user page by browser language. This is the HTTP_ACCEPT_LANGUAGE variable. Set
Env. variable name = HTTP_ACCEPT_LANGUAGE.
Add Quality Set:
Value = ru
Discount % = 30
Skimming = 20
With these settings, surfers with ru language will be counted with a 30% discount. If a trader sent us a surfer with ru language who made 10 clicks, we will count them as 10 - 30% = 7 clicks.
Also for this surfer a separate skimming will apply - 20%, despite other script settings. If skimming = 0, then this parameter is not taken into account.
More complex example
Surfer made 10 clicks
language – ru
all clicks through proxy
10 – 50% - 20% = only 3 clicks will be counted.
Here there is also a Skimming parameter, this is personal skimming for the same conditions, for example
Value = ru
Discount % = 30
Skimming = 40
this means if someone came with ru language, their clicks will be counted with a 30% discount, and the default skimming will be 40%.
Skimming 101 means don't apply this value, that is, use the one specified in &p= or Settings->CJSettings: Default Skimming
Note that discounts are applied to clicks
For example Value = ru Discount % = 50
Received 100 unique visitors and all from ru - unique visitors will still be 100.
Let's say they clicked 100 times: 50 on URL and 50 on trade.
Hourly Clicks Url, Hourly Clicks Trade and Hourly Clicks Total fields will reflect actual clicks that is 50, 50 and 100
But Hourly Quality Url, Hourly Quality Trade and Hourly Quality Total will reflect considering discounts that is 25, 25 and 50
Products are calculated from Quality parameters - accordingly discounts affect productivity and as a result trader debt.
====== Gallery domains whitelist ======
Since initially URLs on the site look like out.php?url=... this can be used by spammers by substituting the URLs they need, that is, it will be http://your_domain/out.php?url=http://spammer/
To avoid this, there's a Gallery domains whitelist setting where you enter a list of domains where traffic can be sent. If the field is empty, it sends to any URL, if domains are specified, it only sends to specified domains + traders.
====== Notrade (Feeders) ======
We have several options for what to do with notrade (Settings -> Processed Data -> Process Refs)
* just count as Notrade traffic
* add each domain as a new trade and count statistics for each separately. At the same time we add each domain as *.domain.com so we count traffic in total with m.domain.com, something.domain.com and so on. Or as sub.domain.com, that is each of the listed subdomains as a separate trader.
* If we buy traffic from exchanges it comes right away from a large number of domains. We can add one trader broker.com and send traffic to http://my_domain/?id=brocker.com - This way we'll see overall statistics of how much traffic comes from the broker and at the same time it will just be one line in Trade. At the same time we can also track traffic statistics from broker.com by subdomain - for this we enable add notrade as subfeeders. That is, we'll have one line broker.com but if you click on S then in its statistics there will be a subfeeders tab with the full list of domains.
At the same time we can add both *.domain.com or each domain as sub.domain.com
There can be edge cases where traffic arrives with links that do not look like a domain, or where the URL contains two different source markers. For example: http://your_domain/?campaign_id=123, where campaign_id changes depending on how you buy traffic and there is no referrer.
Then to track traffic by all IDs, you can convert them to refs by adding to common.php
if (isset($_GET['campaign_id'])) $_SERVER['HTTP_REFERER'] = 'http://feeder_' . $_GET['campaign_id'] . '.com/';
This way the referrer for such a hit becomes http://feeder_123.com/, and the script will automatically create a trader entry for it so you can see full statistics.
====== Count clicks to galleries at trader's domain as clicks to trader ======
Suppose trader trader.com has galleries, and you added them to yourself, that is, gallery URLs like http://trader/gallery/slug.html. That is, in this case traffic from you to the trader's domain can go both as to the trader and as to content (gallery). The option regulates whether to count these transitions as trade.
====== Mail to Telegram ======
The ability to send script messages not to email, but to Telegram (messenger).
**System email** in settings should be written as
tg://bot_id@chat_id
How to set it up:
* In Telegram, message @botfather with /newbot and create a new bot
* it will give you **somehash**, it looks something like 7345345735:agADFsfjdfhSGTYJdfafhksdsdrQ
* send any message to that bot from your Telegram account, then open
https://api.telegram.org/bot**somehash**/getUpdates
note the word bot before the **somehash** string
there will be a string chat : id like 12321313
* enter the received data in system email, it should look like
tg://7345345735:agADFsfjdfhSGTYJdfafhksdsdrQ@12321313
That's it, messages should arrive in TG.