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

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Upload call conversions

> Upload offline call conversions to Google Ads.

Use `googleAds.uploadCallConversions` to upload offline call conversions to Google Ads.

## Example

```ts theme={null}
import { automation, onDashboardRun } from "automate.ax"
import { googleAds } from "automate.ax/google-ads"

export default automation("Upload call conversions", () => {
  onDashboardRun({ title: "Upload call conversions" })

  googleAds.uploadCallConversions({
    customerId: "1234567890",
    items: [
      {
        conversionAction: "customers/1234567890/conversionActions/111",
        callerId: "+14155550123",
        callStartDateTime: "2026-08-10 10:00:00-07:00",
        conversionDateTime: "2026-08-10 10:05:00-07:00",
      },
    ],
  })
})
```

## Inputs

Upload 1–2,000 records. Each requires a conversion-action resource name, caller ID, call start, and conversion time. `partialFailure` is always `true`; `validateOnly` checks without applying. All customer-scoped actions accept optional `loginCustomerId` for manager-account access and a named Google account binding.

## Output

Returns per-record results and any partial-failure error.
