> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# GetCampaignChangeLog

# Package: googleAds

# Namespace: CampaignService

# Method link: https://dev.wix.com/docs/api-reference/business-management/marketing/ads/google-ads/campaign-v1/get-campaign-change-log.md

## Permission Scopes:
View google ads campaigns: SCOPE.PROMOTE.VIEW-GOOGLE-ADS

## Introduction

Retrieves the full change log for a campaign — all status-changing events in chronological order.

---

## REST API

### Schema

```
 Method: getCampaignChangeLog
 Description: Retrieves the full change log for a campaign — all status-changing events in chronological order.
 URL: https://www.wixapis.com/_serverless/pa-google/v1/campaigns/{campaignId}/change-log
 Method: GET
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  campaignId
 Method parameters: 
   param name: campaignId | type:   none | required: true 
 Return type: GetCampaignChangeLogResponse
  - name: entries | type: array<CampaignChangeLogEntry> | description: Change log entries in chronological order. Maximum 1,000 items.  | validation: maxItems 1000
     - name: action | type: string | description: The type of action that occurred. Possible values: CREATED, CREATED_AS_LIVE, LAUNCHED, PAUSED, RESUMED, UPDATED, ENDED.  | validation: maxLength 20
     - name: timestamp | type: string | description: Date and time the action occurred.  | validation: format date-time


```

### Examples

### Get Campaign Change Log
```curl
curl -X GET \
  'https://www.wixapis.com/google-ads/v1/campaigns/c9d8e7f6-a5b4-3210-fedc-ba9876543210/change-log' \
  -H 'Authorization: <AUTH>'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.promoteGoogleAds.campaigns.getCampaignChangeLog(campaignId)
 Description: Retrieves the full change log for a campaign — all status-changing events in chronological order.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  campaignId
 Method parameters: 
   param name: campaignId | type: string | description: GUID of the campaign whose change log to retrieve. | required: true | validation: format GUID
 Return type: PROMISE<GetCampaignChangeLogResponse>
  - name: entries | type: array<CampaignChangeLogEntry> | description: Change log entries in chronological order. Maximum 1,000 items.  | validation: maxItems 1000
     - name: action | type: string | description: The type of action that occurred. Possible values: CREATED, CREATED_AS_LIVE, LAUNCHED, PAUSED, RESUMED, UPDATED, ENDED.  | validation: maxLength 20
     - name: timestamp | type: Date | description: Date and time the action occurred.  


```

### Examples

### Get the full change log for a campaign
```javascript
import { campaigns } from '@wix/promote-google-ads';

const response = await campaigns.getCampaignChangeLog('c9d8e7f6-a5b4-3210-fedc-ba9876543210');

/* Promise resolves to:
 * {
 *   "entries": [
 *     {
 *       "action": "CREATED",
 *       "timestamp": "2026-03-01T09:00:00.000Z"
 *     },
 *     {
 *       "action": "LAUNCHED",
 *       "timestamp": "2026-03-01T09:05:00.000Z"
 *     },
 *     {
 *       "action": "PAUSED",
 *       "timestamp": "2026-03-10T14:00:00.000Z"
 *     },
 *     {
 *       "action": "RESUMED",
 *       "timestamp": "2026-03-12T09:00:00.000Z"
 *     }
 *   ]
 * }
 */

```

### getCampaignChangeLog (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { campaigns } from '@wix/promote-google-ads';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { campaigns },
  // Include the auth strategy and host as relevant
});


async function getCampaignChangeLog(campaignId) {
  const response = await myWixClient.campaigns.getCampaignChangeLog(campaignId);
};
```

---