> ## 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.

# On campaign asset linked

> Run an automation when an asset is linked to a Google Ads campaign.

`googleAds.onCampaignAssetCreated` emits changes observed after the trigger establishes its baseline. Existing changes aren't replayed.

## Example

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

export default automation("On campaign asset linked", () => {
  const change = googleAds.onCampaignAssetCreated({ customerId: "1234567890" })

  googleAds.getCustomer({ customerId: change.customerId })
})
```

## Options

Set the static `customerId` to the 10-digit Google Ads customer, with or without dashes. Set `loginCustomerId` when a manager account authorizes the client. `account` selects a named Google connection. Signals can't select these values at runtime.

## Trigger data

Returns `{ customerId, event }`. The event identifies the asset-link resource, operation, change time, changed-field mask, and available campaign, ad-group, asset, user, and client metadata.

Automate.ax polls once per minute. Google can delay change events, so delivery is not immediate. Google only exposes change history from the previous 30 days and caps a query at 10,000 rows.
