> 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

# GetCampaignStatusHistory

# Package: googleAds

# Namespace: CampaignService

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

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

## Introduction

Retrieves the full status change history for a campaign in chronological order.

---

## REST API

### Schema

```
 Method: getCampaignStatusHistory
 Description: Retrieves the full status change history for a campaign in chronological order.
 URL: https://www.wixapis.com/_serverless/pa-google/v1/campaigns/{campaignId}/status-history
 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: GetCampaignStatusHistoryResponse
  - name: statusChangeHistory | type: array<CampaignStatusChange> | description: Chronological list of status changes for the campaign. Maximum 1,000 items.  | validation: maxItems 1000
     - name: status | type: CampaignStatus | description: The campaign status value after the change.  
         - enum:
         -     UNKNOWN: Used for return value only. Represents a value unknown in this version.
         -     LIVE: Campaign is currently serving ads, depending on budget information.
         -     PAUSED: Campaign has been paused by the user.
         -     ENDED: Campaign has been ended.
         -     IN_REVIEW: The campaign was created but its budget hasn't been charged yet.
         -     ERROR: Error state.
         -     DISAPPROVED: Campaign is not approved.
         -     NOT_SERVING: Campaign is currently not serving due to budget limitations.
         -     DRAFT: Campaign is a draft.
         -     LEARNING: Campaign is in the learning phase. Currently supported only for Google Ads Performance Max leads campaigns.
     - name: updatedDate | type: string | description: Date and time the status change occurred.  | validation: format date-time


```

### Examples

### Get Campaign Status History
```curl
curl -X GET \
  'https://www.wixapis.com/google-ads/v1/campaigns/c9d8e7f6-a5b4-3210-fedc-ba9876543210/status-history' \
  -H 'Authorization: <AUTH>'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.promoteGoogleAds.campaigns.getCampaignStatusHistory(campaignId)
 Description: Retrieves the full status change history for a campaign 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 status history to retrieve. | required: true | validation: format GUID
 Return type: PROMISE<GetCampaignStatusHistoryResponse>
  - name: statusChangeHistory | type: array<CampaignStatusChange> | description: Chronological list of status changes for the campaign. Maximum 1,000 items.  | validation: maxItems 1000
     - name: status | type: CampaignStatus | description: The campaign status value after the change.  
         - enum:
         -     UNKNOWN: Used for return value only. Represents a value unknown in this version.
         -     LIVE: Campaign is currently serving ads, depending on budget information.
         -     PAUSED: Campaign has been paused by the user.
         -     ENDED: Campaign has been ended.
         -     IN_REVIEW: The campaign was created but its budget hasn't been charged yet.
         -     ERROR: Error state.
         -     DISAPPROVED: Campaign is not approved.
         -     NOT_SERVING: Campaign is currently not serving due to budget limitations.
         -     DRAFT: Campaign is a draft.
         -     LEARNING: Campaign is in the learning phase. Currently supported only for Google Ads Performance Max leads campaigns.
     - name: _updatedDate | type: Date | description: Date and time the status change occurred.  


```

### Examples

### Get a campaign's status change history
```javascript
import { campaigns } from '@wix/promote-google-ads';

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

/* Promise resolves to:
 * {
 *   "statusChangeHistory": [
 *     {
 *       "status": "DRAFT",
 *       "updatedDate": "2026-03-01T09:00:00.000Z"
 *     },
 *     {
 *       "status": "IN_REVIEW",
 *       "updatedDate": "2026-03-01T09:05:00.000Z"
 *     },
 *     {
 *       "status": "LIVE",
 *       "updatedDate": "2026-03-01T10:00:00.000Z"
 *     },
 *     {
 *       "status": "PAUSED",
 *       "updatedDate": "2026-03-10T14:00:00.000Z"
 *     }
 *   ]
 * }
 */

```

### getCampaignStatusHistory (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 getCampaignStatusHistory(campaignId) {
  const response = await myWixClient.campaigns.getCampaignStatusHistory(campaignId);
};
```

---