Campaign cost models
How the tracker calculates campaign cost with the CPC, CPuC, CPM, CPA, CPS and RevShare models and what can replace this calculation.
The cost model defines what the tracker charges campaign cost for: a click or a conversion. It drives the Cost («Расход»), Profit («Прибыль») and ROI metrics in the campaign list and in reports. Cost is calculated in US dollars.
Where to set the model
- When you create a campaign: in the Campaigns («Кампании») section, click + Campaign («+ Кампания»). In the Create campaign («Создать кампанию») window, choose the model in the Cost model («Модель стоимости») field and enter the price in the field to the right of URL alias («Alias в URL»).
- For an existing campaign: on the campaign page, click Edit («Изменить»). In the Edit campaign («Изменить кампанию») window, this is the Model («Модель») field and the price field next to it. The options in the list have short names: CPC, CPuC, CPM, CPA, CPS, RevShare.
CPC with a price of 0 is selected by default. The other fields of these windows are described on the Creating and configuring a campaign page.
Six models
The label of the price field changes with the model.
| Model | Price field | When cost is charged | How much |
|---|---|---|---|
| CPC — per click («CPC — за клик») | Click price, $ («Цена клика, $») | On every click | Price |
| CPuC — per unique click («CPuC — за уникальный клик») | Click price, $ | On a unique click; a repeat visit costs 0 | Price |
| CPM — per 1000 («CPM — за 1000») | Price per 1000, $ («Цена за 1000, $») | On every click | Price / 1000 |
| CPA — per conversion («CPA — за конверсию») | Conversion price, $ («Цена конверсии, $») | On a conversion with the lead, sale or rejected status | Price |
| CPS — per sale («CPS — за продажу») | Sale price, $ («Цена продажи, $») | On a conversion with the sale status | Price |
| RevShare — payout share («RevShare — доля выплаты») | Payout share, % («Доля выплаты, %») | On a conversion with the sale status | Payout × share / 100 |
The price is a number from 0 to 1,000,000,000 in US dollars; for RevShare it is a percentage from 0 to 100. Use a period as the decimal separator: 0.05.
For CPuC, a unique click is defined by the campaign uniqueness rule, see Creating and configuring a campaign.
Click cost and conversion cost
Cost is made up of two parts.
- Click cost. It is written to the click at the moment of the visit for CPC, CPuC and CPM. For CPA, CPS and RevShare, click cost is 0.
- Conversion cost. It is calculated for CPA, CPS and RevShare from the conversion status. A conversion is counted once, by its latest status: a lead that became a sale with the same transaction ID is not charged twice.
A conversion with the hold status, or with a status that is not mapped to lead, sale or rejected, produces no cost under the model. Affiliate network statuses are mapped to these values by conversion types.
Example for RevShare: a share of 30 and a sale payout of 50 USD give a cost of 15 USD. The payout is taken already converted to USD, see Currencies and rates.
Lost traffic, %
The Lost paid traffic, % («Недошедший платный трафик, %») field in the Create campaign window, called Lost traffic, % («Недошедший трафик, %») in the Edit campaign window, adjusts cost for clicks the source charged you for but that never reached the tracker. The field does not drop any visitors.
- Value: an integer from 0 to 99,
0by default. - Click cost = model cost / (1 − percentage / 100).
- Example: CPC
0.10and 20% give0.125per click. - Applies to CPC, CPuC and CPM. It does not affect conversion cost.
Click cost from a source parameter
A source can pass the click price in the link. The tracker then writes it as the click cost instead of calculating it from the model. For this, the traffic source needs a token with the cost slot. Owners and admins can change tokens.
- Open Sources («Источники») and select the source.
- In the Source tokens («Токены источника») block, click + Token («+ Токен»).
- In the Slot («Слот») column, choose
cost. - In the Parameter («Параметр») column, enter the name of the parameter in which the source sends the click price.
- In the Placeholder column, enter the source macro that the source replaces with the click price.
- Click Save («Сохранить»).
- Add the parameter to the campaign link — see Passing tokens to the campaign.
Rules:
- The value is a number from 0 to 1000, the amount in USD for one click. Use a period as the decimal separator:
cost=0.07. - An empty, non-numeric, negative or greater than 1000 value is ignored, and the click cost is calculated from the model.
- The Lost traffic, % adjustment does not apply to this cost.
- With the CPuC model, the passed cost is also written on a repeat visit.
- With CPA, CPS and RevShare, the passed cost is written as click cost and added to the conversion cost.
The recorded value is shown in the click card, in the Click cost («Расход клика») row. How slots and parameters work is covered on the Source tokens and link parameters page.
The cost parameter in a postback
The cost parameter in an incoming postback sets the cost of a single conversion instead of the CPA, CPS or RevShare calculation.
https://track.example.com/api/v1/postback?subid={click_id}&status={status}&payout={payout}&txid={txid}&cost=12.5cost=<number>— a number from 0. It is written as the cost of this conversion with any campaign model and any status.cost=auto— removes the set cost, and the conversion is calculated from the campaign model again. Case does not matter:AUTOandAutowork the same way.- The tracker skips an empty
cost=and a macro the network did not replace, for examplecost={cost}: the conversion is recorded, but the cost from the postback is not used. - The value is in the postback currency and is converted to USD at that currency's rate, see Currencies and rates.
- If a repeat postback with the same transaction ID has no
cost, an empty one or one with an unreplaced macro, the previously set cost is kept. - This parameter does not change click cost: that is counted separately.
If the cost value is invalid, the tracker responds with code 422 and the text cost must be non-negative or auto and does not record the conversion. An invalid value is anything other than a number from 0 or auto, for example cost=abc or cost=-1.
Changing the model and past clicks
The model and price are written to the click at the moment of the visit. New values apply only to new clicks.
- The cost of clicks recorded earlier does not change.
- A conversion is calculated with the model and price of its own click, even if it arrived after the model was changed.
Spend from the extension
The Facebook spend extension uploads the actual spend of an ad account by day. If a campaign has uploaded spend for a day, it replaces the calculated cost of that campaign for that day instead of being added to it.
- Model-based click cost and the cost from a source parameter for that day are not included in the report.
- Conversion cost for clicks of that day is not added: neither from CPA, CPS and RevShare nor from the postback
costparameter. - Campaigns and days without uploaded spend are calculated from the model.
- Which day a click belongs to is determined by the report time zone.
How spend is split between campaigns is covered in How spend gets into reports. The extension works with a paid license.
What takes priority
| What is available | Which cost gets into the report |
|---|---|
| Spend uploaded by the extension for the day | Only that spend |
| Click cost from a source parameter | It replaces the model-based click cost |
cost in the postback | It replaces the model-based conversion cost |
| None of the above | The calculation from the model and price recorded in the click |