List Google Ads campaign changes

Changed on

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

Returns a campaign's change history, newest first: every pause, resume, edit, and deletion, with who made it and when.

event_type says what happened. An EDITED entry carries the field and its before and after values in details. actor is system for a change Base44 made on its own, such as pausing a campaign over an unpaid balance, and otherwise identifies the user who made it.

Use limit to cap how many entries come back. The default is 50 and the most you can ask for is 500. There is no paging, so a campaign with a long history returns only its most recent entries.

<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/campaigns/{campaign_id}/change-log

Request

  • Base URL: https://app.base44.com
  • URL: https://app.base44.com/api/apps/{app_id}/google-ads/campaigns/{campaign_id}/change-log
  • Auth: HTTP bearer

Path parameters

app_idstring required

ID of the app whose Google Ads campaigns to manage.

campaign_idstring required

Base44's ID for the campaign, as returned in id by List campaigns. This is not the Google Ads campaign ID, which is reported separately as google_campaign_id.

Query parameters

limitinteger

Most entries to return, newest first.

Response

Successful Response

idstring required

ID of the log entry.

campaign_idstring required

Campaign the change applies to.

event_typestring required

What happened: CREATED, PAUSED, RESUMED, DELETED, EDITED, or EU_POLITICAL_AUTO_DECLARED.

detailsobject required

Extra detail about the change. For an EDITED entry this carries field, before, and after. It is empty for the other event types.

actorstring required

Who made the change: system for an automatic change such as a billing pause, otherwise the ID of the user who made it.

created_datestring date-time required

When the change happened.

Example response

[
  {
    "id": "68b1c0d4e7b91d003c45a1f3",
    "campaign_id": "68b1c0d4e7b91d003c45a1f2",
    "event_type": "PAUSED",
    "details": {
      "after": 15000000,
      "before": 10000000,
      "field": "budget"
    },
    "actor": "system",
    "created_date": "2026-08-25T14:05:00Z"
  }
]

Changes

    • info

      the security scope read_only was added to the endpoint's security scheme PersonalAccessTokenAuth

    • info

      the security scope full_access was removed from the endpoint's security scheme PersonalAccessTokenAuth

    • info

      the endpoint scheme security PersonalAccessTokenAuth was added to the API