> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metricanic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Campaign costs

> Choose a visit cost model and understand how event costs affect total spend.

Metricanic can record cost when a visitor arrives and when an event occurs later. Choose the model that matches what you pay for, so the report's cost and profit describe the actual campaign economics.

A per-visit charge belongs in **Visit cost**. A charge per lead, purchase, or other event belongs in that event's **Event cost**. If both apply, Metricanic adds both to total cost.

## Choose a visit cost model

Open the campaign's **1. Campaign** tab and find **Visit cost**.

| Option | How cost is recorded                                                      | Use it when                                            |
| ------ | ------------------------------------------------------------------------- | ------------------------------------------------------ |
| none   | Each new visit gets zero visit cost                                       | Testing or tracking traffic without a per-visit charge |
| auto   | Reads a numeric value from the traffic source's configured Cost parameter | The source supplies the price with each incoming visit |
| CPV    | Assigns the configured fixed amount to each registered visit              | You use a known or estimated cost per visit            |

**auto** uses the incoming URL parameter. Selecting it does not connect Metricanic to an advertising account or fetch a spending report.

**CPV** measures registered visits. If the source charges by another unit, convert that pricing into the per-visit amount you intend to use or choose an appropriate event cost model. Differences between billed ad clicks and registered visits can make a fixed estimate differ from the invoice.

## Set up automatic cost

Suppose your source supplies its click price in a macro. In [Traffic sources](/tracking/traffic-sources), configure the **Cost** row with **Param** `cost` and the exact source macro in **Macro**. Then choose **auto** in the campaign and save.

After the source expands its macro, a redirect link might arrive as:

```text theme={null}
https://trk.example.com/CAMPAIGN_ID?cost=0.20
```

The registered visit receives a cost of `0.20`. Use a plain numeric amount. A missing, nonnumeric, or negative incoming amount does not provide a valid visit cost, and the visit remains at zero if no other valid cost value is supplied.

Use distinct parameter names for Cost, Click ID, and custom tokens. A name mapped to a token or Click ID is processed as that field before automatic cost parsing.

If a source uses different cost parameter names across traffic formats, the Cost **Param** can list alternatives separated by `|`, such as `cost|cpc`. The generated tracking link uses the first name. Prefer sending a single cost value per visit to avoid ambiguity.

## Set up fixed cost

Choose **CPV**, then enter **Cost per visit (CPV)** and save. For example, `0.20` across 100 registered visits produces `20.00` in visit cost.

Incoming `cost` values do not override CPV. With **none**, they do not become visit cost either. This lets a campaign use a deliberate fixed estimate even when its source URL contains other pricing data.

## Add event costs only when they apply

In **2. Events**, each configured event has an **Event cost** setting:

| Option             | Result for the event                                              |
| ------------------ | ----------------------------------------------------------------- |
| No event cost      | Adds zero event cost                                              |
| Fixed amount (CPA) | Adds the configured amount when that event is processed           |
| Revenue share (%)  | Calculates cost as a percentage of that event's configured payout |

For a purchase with payout `20.00` and a 30% revenue share, event cost is `6.00`. If the originating visit also cost `0.20`, the combined cost is `6.20` and profit is `13.80`, assuming the event contributes to revenue and cost metrics.

Revenue share depends on the event's payout setting. If you use **From incoming event** but no valid payout arrives, there is no positive payout from which to calculate the share. See [revenue and event costs](/conversions/revenue-and-cost).

## Verify before scaling

Send a controlled visit with a known price, then inspect its campaign report. If testing an event cost, send one correctly attributed event and check total cost again. Keep all example amounts in the same monetary unit as your reporting inputs.

If cost is zero, check the campaign model, exact Cost parameter spelling, and the value that actually reached Metricanic. A literal source macro such as `{price}` is not a numeric price.

If cost is too high, check whether both visit and event costs were configured for the same expense. Changes to campaign cost settings govern subsequently registered visits. To correct recorded spend, use [cost corrections](/reports/cost-corrections).
