Update Google Ads conversion mapping

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

Changes a conversion mapping.

Send only the fields you want to change. A field you leave out keeps its current value, and so does a field you send as null, so clear a field by sending an empty string rather than null. There is no account_id parameter here, because the mapping already knows which account it belongs to.

Turning is_enabled off is how you stop Base44 counting the mapping when it decides the account's conversion events are configured, without losing the mapping itself.

<Warning>A mapping does not report conversions on its own. Nothing fires a conversion when the mapped entity is written. The app has to fire it in the browser with gtag('event', 'conversion', ...), or you report it from the server with Upload conversions.</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. Send only the fields documented here. Other request fields are not supported and their behavior can change.</Warning>

patch/api/apps/{app_id}/google-ads/conversion-mappings/{mapping_id}

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.

mapping_idstring required

ID of the mapping, as returned in id by List conversion mappings.

ID of the mapping, as returned in id by List conversion mappings.

Request body

entity_namestring

Name of the app entity whose write this goal belongs to.

trigger_actionstring

Which write on the entity the goal belongs to. Base44 uses create, update, and delete, and stores any other value as sent.

conversion_typestring

Which kind of conversion this is, using Google's category vocabulary such as PURCHASE, ADD_TO_CART, SIGN_UP, or LEAD. The value is stored as sent and not checked against Google's list.

conversion_action_idstring

Google Ads' own ID for the goal to point at, as returned in google_action_id by List conversion actions. Send it alongside conversion_type and this one is matched first, with conversion_type as the fallback if it matches no goal on the account.

value_fieldstring

Field on the entity record holding the conversion amount. The wiring instructions fall back to amount when it is empty.

currency_fieldstring

Field on the entity record holding the currency code. The wiring instructions fall back to USD when it is empty.

id_fieldstring

Field on the entity record holding the order ID Google dedupes on. The wiring instructions fall back to id when it is empty.

is_enabledboolean

Whether Base44 counts this mapping when it decides the account's conversion events are configured (true) or ignores it (false).

Example request

{
  "entity_name": "Order",
  "trigger_action": "create",
  "conversion_type": "PURCHASE",
  "conversion_action_id": "7654321",
  "value_field": "total_price",
  "currency_field": "currency",
  "id_field": "order_number",
  "is_enabled": true
}

Response

The mapping after the change.

idstring required

ID of the mapping. Pass this as mapping_id to update or delete it.

account_idstring required

ID of the Google Ads account the mapping belongs to.

entity_namestring required

Name of the app entity whose write this goal belongs to, as returned by List entity schemas. It is empty on a mapping Base44 created from a conversion it verified firing in the app code, because a client-side conversion has no entity behind it.

trigger_actionstring required

Which write on the entity the goal belongs to. Base44 uses create, update, and delete, and stores any other value as sent.

conversion_typestring required

Which kind of conversion this is, using Google's category vocabulary such as PURCHASE, ADD_TO_CART, BEGIN_CHECKOUT, SIGN_UP, LEAD, or CONTACT. Empty when nothing was set for it. The value is stored as sent and not checked against Google's list.

conversion_action_idstring required

Google Ads' own ID for the goal this mapping points at, as returned in google_action_id by List conversion actions. Empty when nothing was set for it. A mapping can carry both this and conversion_type, and this one is matched first. If it matches no goal on the account, which happens when the goal was recreated in Google Ads under a new ID, the mapping falls back to matching on conversion_type.

value_fieldstring required

Field on the entity record holding the conversion amount. It is read only when writing the wiring instructions for the AI builder, which falls back to amount when this is empty.

currency_fieldstring required

Field on the entity record holding the currency code. Same use as value_field, and the instructions fall back to USD when this is empty.

id_fieldstring required

Field on the entity record holding the order ID Google dedupes on. Same use as value_field, and the instructions fall back to id when this is empty.

is_enabledboolean required

Whether Base44 counts this mapping when it decides a campaign's conversion events are configured (true) or ignores it (false).

created_datestring date-time required

When the mapping was created.

updated_datestring date-time required

When the mapping was last changed.

Example response

{
  "id": "68b1c0d4e7b91d003c45a1f7",
  "account_id": "68b1c0d4e7b91d003c45a1f8",
  "entity_name": "Order",
  "trigger_action": "create",
  "conversion_type": "PURCHASE",
  "conversion_action_id": "7654321",
  "value_field": "total_price",
  "currency_field": "currency",
  "id_field": "order_number",
  "is_enabled": true,
  "created_date": "2026-08-25T11:20:00Z",
  "updated_date": "2026-08-25T14:05:00Z"
}

Changes

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