Scan Google Ads conversion tracking

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Cross-references the app's conversion mappings against the conversion calls in its code, and reports what does not line up.

Each entry in gaps names one problem. An error is a mapped conversion that cannot fire, and a warning is a setup that works but probably is not what you meant, such as a disabled mapping or code firing a goal no mapping points at. A missing-call- gap also carries a composer_prompt you can hand to Send chat message to have the AI write the fix.

<Warning>Treat error gaps and calls_count as unverified. The scan reads the app's code from a copy that is empty for apps built in the current editor, so it reports calls_count as 0 and raises a missing-call- gap for every enabled mapping even when the call is present and working. Base44's own alerting re-checks these against the deployed app before acting on them, and this endpoint does not. Confirm a missing-call- gap against the app's real code before changing anything, and do not read calls_count as evidence that no conversions fire.</Warning>

<Warning>is_clean is true when nothing was scanned, so read skipped_reason first. An app with no Google Ads account comes back with is_clean set to true, no gaps, and skipped_reason set to no_google_ads_account, which is not a clean bill of health. That response also omits enabled_mappings_count.</Warning>

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

get/api/apps/{app_id}/google-ads/tracking-scan

Path parameters

app_idstring required

ID of the app whose Google Ads conversion tracking you want to manage.

ID of the app whose Google Ads conversion tracking you want to manage.

Response

What the scan found.

mappings_countinteger required

How many conversion mappings the account has, enabled or not.

calls_countinteger required

How many gtag conversion calls the scan found in the app's code. See the warning on this operation before reading it as zero.

is_cleanboolean required

Whether the scan flagged no error-severity gap (true) or at least one (false). It also reads true when the scan did not run at all, so check skipped_reason first.

enabled_mappings_countinteger nullable

How many of the mappings are enabled. Absent when skipped_reason is set.

skipped_reasonstring nullable

Why nothing was scanned. The value is no_google_ads_account when the app has no active Google Ads account, or app_not_found. The field is absent whenever a scan ran.

Example response

{
  "gaps": [],
  "mappings_count": 3,
  "enabled_mappings_count": 2,
  "skipped_reason": "no_google_ads_account"
}

Changes

Changed in 1 of the 2 revisions of this API.1