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

# Conversion Config Reference

Conversion actions tell Google Ads what counts as a valuable outcome — a sign-up, a purchase, a qualified lead — and feed the conversion-based bidding strategies (`MAXIMIZE_CONVERSIONS`, `TARGET_CPA`, and friends). They live at the account level in their own section (conventionally `conversions.toml`) because they change rarely and are shared across every campaign.

<Note>
  Conversions are **not exclusively owned by your config**. `apply` only creates and updates the entries you declare — it never archives a conversion just because it's absent from TOML. Deleting a block simply stops Adjar from managing that action; to actually remove a conversion, use the Google Ads UI. Adjar also only manages conversions whose `type` it can create (see [`type`](#type) below); conversions created by Google or another product (a GA4 import, Smart campaign goals, Firebase) are deliberately left out of config and untouched.
</Note>

## Full Example

```toml theme={null}
[[conversions]]
name = "Book a Demo"
category = "BOOK_APPOINTMENT"
type = "WEBPAGE"
primary_for_goal = true
counting_type = "ONE_PER_CLICK"

[[conversions]]
name = "Newsletter Signup"
category = "SIGNUP"
type = "WEBPAGE"
status = "ENABLED"
```

***

## `[[conversions]]` Fields

<ParamField path="name" type="string" required>
  The conversion action's display name as it appears in Google Ads. Must be unique within the account.

  ```toml theme={null}
  name = "Book a Demo"
  ```
</ParamField>

<ParamField path="category" type="string" default="DEFAULT">
  The semantic bucket the conversion belongs to. Must be one of Google's `ConversionActionCategory` values that Adjar supports:

  `DEFAULT`, `PAGE_VIEW`, `PURCHASE`, `SIGNUP`, `LEAD`, `DOWNLOAD`, `SUBMIT_LEAD_FORM`, `CONTACT`, `BOOK_APPOINTMENT`, `REQUEST_QUOTE`, `ADD_TO_CART`, `BEGIN_CHECKOUT`, `SUBSCRIBE_PAID`, `QUALIFIED_LEAD`, `CONVERTED_LEAD`.

  ```toml theme={null}
  category = "BOOK_APPOINTMENT"
  ```
</ParamField>

<ParamField path="type" type="string" default="WEBPAGE">
  How the conversion is recorded. This is set when the action is created and is **immutable** afterward — Google rejects any update that touches it.

  Adjar can create and fully manage these types:

  | Value             | Description                             |
  | ----------------- | --------------------------------------- |
  | `"WEBPAGE"`       | Fired by the website tag on a page load |
  | `"UPLOAD_CLICKS"` | Click conversions imported offline      |
  | `"UPLOAD_CALLS"`  | Call conversions imported offline       |
  | `"WEBSITE_CALL"`  | Calls from a number on your website     |

  An existing conversion of any other type is preserved as-is on import (so the round-trip is lossless), but Adjar will not try to mutate it.

  ```toml theme={null}
  type = "WEBPAGE"
  ```
</ParamField>

<ParamField path="status" type="string" default="ENABLED">
  Whether the conversion is actively counting.

  | Value       | Behaviour                             |
  | ----------- | ------------------------------------- |
  | `"ENABLED"` | The action records conversions        |
  | `"HIDDEN"`  | The action is kept but stops counting |

  ```toml theme={null}
  status = "ENABLED"
  ```
</ParamField>

<ParamField path="counting_type" type="string" default="ONE_PER_CLICK">
  How many conversions to count per ad click.

  | Value              | Use for                                                         |
  | ------------------ | --------------------------------------------------------------- |
  | `"ONE_PER_CLICK"`  | Leads — one qualified action per click                          |
  | `"MANY_PER_CLICK"` | E-commerce — multiple purchases from one click should all count |

  ```toml theme={null}
  counting_type = "ONE_PER_CLICK"
  ```
</ParamField>

<ParamField path="primary_for_goal" type="boolean" default="false">
  Whether this action counts toward the main "Conversions" column and feeds conversion-based bidding (`MAXIMIZE_CONVERSIONS`, `TARGET_CPA`, etc.). When `false`, the action is observation-only (a "secondary" conversion).

  Defaults to `false` — the safe, non-promoting default. Set it explicitly to `true` to make a conversion primary, rather than relying on an omitted field to silently promote it.

  ```toml theme={null}
  primary_for_goal = true
  ```
</ParamField>

***

## Conversion Value

Most lead conversions have no monetary value (which is why ROAS reads 0 until a value is configured). These optional fields attach a value to each conversion.

<ParamField path="default_value" type="number">
  The value to record for each conversion, in `default_currency`.

  ```toml theme={null}
  default_value = 50
  ```
</ParamField>

<ParamField path="default_currency" type="string">
  The currency for `default_value` (ISO 4217, e.g. `"USD"`). Defaults to the account currency if omitted.

  ```toml theme={null}
  default_currency = "USD"
  ```
</ParamField>

<ParamField path="always_use_default_value" type="boolean" default="false">
  When `true`, every conversion records `default_value` rather than a per-event value sent by the conversion tag.

  ```toml theme={null}
  always_use_default_value = true
  ```
</ParamField>

***

## Related Pages

* [Campaigns](/docs/config/google/campaigns) — the `bid_strategy` field, including the conversion-driven strategies these actions feed
* [Account Root](/docs/config/google/account) — how the conversions file is imported
