---
updatedAt: 2026-07-01T22:35:10.000Z
---

# Create new campaign

Create a new campaign using this method. Successfully created campaigns will be assigned a unique campaign ID.

<Callout icon="📘" theme="info">
  ### URL: POST /api/v1/campaigns
</Callout>

# Query Parameters

<Table>
  <thead>
    <tr>
      <th>
        Parameter
      </th>

      <th>
        Notes
      </th>

      <th>
        Type
      </th>

      <th>
        Required 
      </th>

      <th>
        Possible Values
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        name
      </td>

      <td>
        The name of the campaign
      </td>

      <td>
        string
      </td>

      <td>
        Y
      </td>

      <td>
        The campaign name should be unique.
      </td>
    </tr>

    <tr>
      <td>
        campaignType
      </td>

      <td>
        The type of the campaign
      </td>

      <td>
        string
      </td>

      <td>
        Y
      </td>

      <td>
        Values of campaignType: <ul><li>sponsoredProducts</li><li>sba</li><li>video</li></ul><br />

        Note: Define campaign type as “sba” for setting up Sponsored Brands campaigns

        <ul><li>If you are a 3P seller trying to create Sponsored Brands campaign, you need to have an accepted brand registered in the Walmart brandportal. We will allow you to create a campaign only when you have an accepted brand which will be subject to campaign review guidelines.</li><li>If your request does not go through, please wait at least 24 hours before trying again.</li></ul>

        Define campaign type as “video” for setting up Sponsored Videos campaigns <ul><li>Please use targeting type “manual” for campaign type “video”</li><li>If you are a 3P seller trying to create Sponsored Videos campaign, you need to have an accepted brand registered in Walmart brandportal. We will allow you to create a campaign only when you have an accepted brand which will be subject to review as per campaign review guidelines.</li><li>If your request does not go through, please wait at least 24 hours before trying again.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        targetingType
      </td>

      <td>
        The targeting type of the campaign is set of options to create campaigns with different bidding types.
      </td>

      <td>
        string
      </td>

      <td>
        Y
      </td>

      <td>
        Possible values: <ul><li>manual</li><li>auto</li></ul>

        Notes: <ul><li>Define targeting type as “manual” to set up keyword bidding campaigns (including Sponsored Brands)</li><li>Please refer [here](https://advertisinghelp.walmart.com/s/guides?article=000008379) for more info</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        status
      </td>

      <td>
        Specified   status of campaign
      </td>

      <td>
        string
      </td>

      <td>
        Y
      </td>

      <td>
        Possible values: <ul><li>enabled</li><li>paused</li><li>completed</li><li>Please refer [here](https://developer.walmart.com/doc/us/us-wmc-ads/us-wmc-ads-campaigns/#statusdgm) for more info</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        startDate
      </td>

      <td>
        The date to start campaign
      </td>

      <td>
        date
      </td>

      <td>
        Y
      </td>

      <td>
        Date should be in format: yyyy-mm-dd
      </td>
    </tr>

    <tr>
      <td>
        endDate
      </td>

      <td>
        The date when   campaign ends.
      </td>

      <td>
        date
      </td>

      <td>
        Y
      </td>

      <td>
        To run campaign indefinitely, set value to: 9999-12-30
      </td>
    </tr>

    <tr>
      <td>
        totalBudget
      </td>

      <td>
        Total budget of campaign
      </td>

      <td>
        double
      </td>

      <td>
        Note: This field is only required if budgetType is set to total
      </td>

      <td>
        <ul><li>For 1p seller: The value of Total budget should at least be $100</li><li>For 3p seller: The value of Total budget should at least be $50</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        dailyBudget 
      </td>

      <td>
        Daily budget of campaign<br />Note: <ul><li>Daily budget cannot exceed your total budget amount</li><li>Unspent budget will be rolled over to the next day</li><li>There is no limit on the amount of daily budget that can carry forward to the next day</li></ul>
      </td>

      <td>
        double
      </td>

      <td>
        Y<br />Note: This   field is required only if budgetType is set to either “daily” or “both”
      </td>

      <td>
        <ul><li>For 1p seller: The value of daily budget should at least be $50</li><li>For 3p seller: The value of daily budget should at least be $10</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        budgetType
      </td>

      <td>
        The type of budget allocation you want to choose for your campaign.
      </td>

      <td>
        string
      </td>

      <td>
        Y
      </td>

      <td>
        Possible values: <ul><li>daily</li><li>both</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        rollover
      </td>

      <td>
        The indicator to suggest if the unspent daily budget from the previous day should be carried forward to next day’s daily budget     
      </td>

      <td>
        boolean
      </td>

      <td>
        Y
      </td>

      <td>
        Currently rollover only accepts “true” as a value. However, in the future it may be updated to accept “false” as well.
      </td>
    </tr>

    <tr>
      <td>
        biddingStrategy
      </td>

      <td>
        A json object to store the bidding strategy. This stores bidding strategy through the field: strategy
      </td>

      <td>
        json
      </td>

      <td>
        N
      </td>

      <td>
        Possible values: <ul><li>DYNAMIC – Indicates the bidding strategy to be dynamic</li><li>FIXED – Indicates the bidding strategy to be fixed</li></ul>

        Notes: <ul><li>If you don’t pass biddingStrategy in the request, the default strategy will be “FIXED”.</li><li>biddingStrategy is not applicable for Sponsored Brands and Sponsored Videos.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        campaignOptions
      </td>

      <td>
        List of campaign setting options while creating a campaign.

        Campaign setting options:<ul><li>Brand Term Targeting (BTT)</li><li>Complementary Product Targeting (CPT)</li></ul><br />

        **Notes:** <ul><li>BTT and CPT are only applicable to Sponsored Search automatic campaigns.</li><li>All net new automatic campaigns will be opted in to Brand Term Targeting by default.</li><li>Existing campaigns are opted out of BTT and CPT by default.</li></ul>
      </td>

      <td>
        array
      </td>

      <td>
        N
      </td>

      <td>
        Values of campaign options: <ul><li>null<ul><li>Passing a null value will opt in to both Brand Term Targeting AND Complementary Product Targeting</li></ul></li><li>\[]<ul><li>Passing an empty array will opt in to both Brand Term Targeting and Complementary Product Targeting</li><li>New automatic campaigns are set to an empty array by default</li></ul></li><li>BRAND\_TERM\_OPT\_OUT<ul><li>This option is used to opt out of Brand Term Targeting</li></ul></li><li>COMPLEMENTARY\_OPT\_OUT<ul><li>This option is used to opt out of Complementary Product Targeting</li></ul></li></ul><br /><br />

        **Note:** **If an empty array \[] or null value is passed for campaignOptions, the campaign will be created with both BTT and CPT opted-in.**
      </td>
    </tr>

    <tr>
      <td>
        advertiserId
      </td>

      <td>
        ID of advertiser whose campaign is to be scheduled
      </td>

      <td>
        integer
      </td>

      <td>
        Y
      </td>

      <td>
        Advertiser ID for which the campaign is to be created
      </td>
    </tr>
  </tbody>
</Table>

### Note:

* It’s not mandatory to define both totalBudget and dailyBudget parameters together. However, one of these must be defined.
* To set daily budget, you must choose value of budgetType as “daily” and then define dailyBudget. Define rollover as true to get remainder of daily budget from previous day to be carried forward to next day
* Maximum budget spent on a given day will be limited to twice of the set dailyBudget amount
* Currently rollover only accepts “true” as a value. However, in future it may be updated to accept “false” as well.
* There will be no control on pacing and the budget will be used as soon as possible

## Headers

| Header Name              | Description                                                                                                            | Required | Values                                                                                                                                           |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Authorization            | The token will provide you the access to the API. It is same for all advertisers you access through the API.           | Y        | Please utilize the generated `auth_token` shared with you at the time of partner onboarding from the Getting Started Guide                       |
| WM\_CONSUMER.ID          | We will provide you the consumer ID to access the API. It is same for all advertisers you access   through the API.    | Y        | Please use the generated `ConsumerId` shared with you at the time of partner onboarding. Refer to the Getting Started Guide for more information |
| WM\_SEC.AUTH\_SIGNATURE  | Auth signature as an API key.                                                                                          | Y        | Use the signature generator code from Getting Started Guide to generate this value                                                               |
| WM\_SEC.KEY\_VERSION     | We will provide you with the KEY VERSION to access the API. It is same for all advertisers you access through the API. | Y        | 1                                                                                                                                                |
| WM\_CONSUMER.intimestamp | Timestamp for  which the auth signature is generated. Use Unix epoch format for the timestamp.                         | Y        | Use the signature generator code from Getting Started Guide to generate this value                                                               |
| Content-Type             | Format of the message body                                                                                             | Y        | application/json                                                                                                                                 |

<br />

## Sample Request 1 – Opt in to CPT and BTT (empty campaignOptions), DYNAMIC biddingStrategy

```curl
curl -X POST \ 
'https://developer.api.stg.walmart.com/api-proxy/service/WPA/Api/v1/api/v1/campaigns' \ 
--header 'Authorization: Bearer <auth_token>' \ 
--header 'WM_SEC.AUTH_SIGNATURE: ***********' \ 
--header 'WM_SEC.KEY_VERSION: 1' \  
--header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ 
--header 'WM_CONSUMER.intimestamp: 1565309779' \ 
--header 'Content-Type: application/json' \ 
--header 'accept: application/json' \ 
--data ‘[ 
          {  
           "advertiserId": 16274575, 
           "name": "Campaign3", 
           "campaignType": "sponsoredProducts", 
           "targetingType": "auto", 
           "status": "enabled", 
           "startDate": "2024-07-18", 
           "endDate": "2024-08-03", 
           "totalBudget": 4000, 
           "dailyBudget": 500, 
           "budgetType" : "both", 
           "rollover" : true, 
           "biddingStrategy": { 
                  "strategy": "DYNAMIC"
                  }, 
           "campaignOptions": [] 
           } 
         ]’
```

## Sample Request 2 – Opt in to CPT and BTT (no campaignOptions field), FIXED biddingStrategy

```curl
curl -X POST \ 
'https://developer.api.stg.walmart.com/api-proxy/service/WPA/Api/v1/api/v1/campaigns' \ 
--header 'Authorization: Bearer <auth_token>' \ 
--header 'WM_SEC.AUTH_SIGNATURE: ***********' \ 
--header 'WM_SEC.KEY_VERSION: 1' \  
--header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ 
--header 'WM_CONSUMER.intimestamp: 1565309779' \ 
--header 'Content-Type: application/json' \ 
--header 'accept: application/json' \ 
--data ‘[ 
         {  
          "advertiserId": 16274575, 
          "name": "Campaign3", 
          "campaignType": "sponsoredProducts", 
          "targetingType": "auto", 
          "status": "enabled", 
          "startDate": "2024-07-18", 
          "endDate": "2024-08-03", 
          "totalBudget": 4000, 
          "dailyBudget": 500, 
          "budgetType" : "both", 
          "rollover" : true, 
          "biddingStrategy": { 
               "strategy": "FIXED" 
                }, 
          } 
        ]’
```

## Sample Request 3 – Opt out of CPT and BTT

```curl
curl -X POST \ 
'https://developer.api.stg.walmart.com/api-proxy/service/WPA/Api/v1/api/v1/campaigns' \ 
--header 'Authorization: Bearer <auth_token>' \ 
--header 'WM_SEC.AUTH_SIGNATURE: ***********' \ 
--header 'WM_SEC.KEY_VERSION: 1' \  
--header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ 
--header 'WM_CONSUMER.intimestamp: 1565309779' \ 
--header 'Content-Type: application/json' \ 
--header 'accept: application/json' \ 
--data ‘[ 
          {  
            "advertiserId": 16274575, 
            "name": "Campaign3", 
            "campaignType": "sponsoredProducts", 
            "targetingType": "auto", 
            "status": "enabled", 
            "startDate": "2024-07-18", 
            "endDate": "2024-08-03", 
            "totalBudget": 4000, 
            "dailyBudget": 500, 
            "budgetType" : "both", 
            "rollover" : true, 
            "biddingStrategy": { 
                 “strategy”: “DYNAMIC” 
                }, 
            "campaignOptions": ["COMPLEMENTARY_OPT_OUT, BRAND_TERM_OPT_OUT"] 
          } 
        ]’
```

## Sample Request 4 – Opt in CPT, Opt out BTT

```curl
curl -X POST \ 
'https://developer.api.stg.walmart.com/api-proxy/service/WPA/Api/v1/api/v1/campaigns' \ 
--header 'Authorization: Bearer <auth_token>' \ 
--header 'WM_SEC.AUTH_SIGNATURE: ***********' \ 
--header 'WM_SEC.KEY_VERSION: 1' \  
--header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ 
--header 'WM_CONSUMER.intimestamp: 1565309779' \ 
--header 'Content-Type: application/json' \ 
--header 'accept: application/json' \ 
--data ‘[
          {  
            "advertiserId": 16274575, 
            "name": "Campaign3", 
            "campaignType": "sponsoredProducts", 
            "targetingType": "auto", 
            "status": "enabled",
            "startDate": "2024-07-18", 
            "endDate": "2024-08-03", 
            "totalBudget": 4000, 
            "dailyBudget": 500, 
            "budgetType" : "both", 
            "rollover" : true, 
            "biddingStrategy": { 
                 “strategy”: “DYNAMIC” 
                }, 
            "campaignOptions": ["BRAND_TERM_OPT_OUT"] 
          } 
        ]’
```

## Sample Request 5 – Opt out CPT, Opt in BTT

```curl
curl -X POST \ 
'https://developer.api.stg.walmart.com/api-proxy/service/WPA/Api/v1/api/v1/campaigns' \ 
--header 'Authorization: Bearer <auth_token>' \ 
--header 'WM_SEC.AUTH_SIGNATURE: ***********' \ 
--header 'WM_SEC.KEY_VERSION: 1' \  
--header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ 
--header 'WM_CONSUMER.intimestamp: 1565309779' \ 
--header 'Content-Type: application/json' \ 
--header 'accept: application/json' \ 
--data ‘[
          {
            "advertiserId": 16274575,
            "name": "Campaign3", 
            "campaignType": "sponsoredProducts", 
            "targetingType": "auto", 
            "status": "enabled", 
            "startDate": "2024-07-18", 
            "endDate": "2024-08-03", 
            "totalBudget": 4000, 
            "dailyBudget": 500, 
            "budgetType" : "both", 
            "rollover" : true, 
            "biddingStrategy": { 
                 “strategy”: “DYNAMIC” 
                }, 
            "campaignOptions": ["COMPLEMENTARY_OPT_OUT"] 
          } 
        ]’
```

# Response

| Element    | Description                                                                                                                                                                                                                      | Type    |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| code       | The response code can have following values: <ul><li>success</li><li>failure</li><li>Click [here](/advertising-partners-search/docs/api-status-codes-and-errors-1)  for more information about Status Codes and Errors</li></ul> | string  |
| details    | Details of the error if response code value is ‘failure’                                                                                                                                                                         | string  |
| campaignId | ID of the campaign                                                                                                                                                                                                               | integer |

## Sample Response 1

```
 { 
   "code": "success", 
   "details": "", 
   "campaignId": 50001 
   "campaignOptions": [] 
 } 
```

## Sample Response 2

```
 { 
   "code": "success", 
   "details": "", 
   "campaignId": 50002 
   "campaignOptions": [] 
 } 
```

## Sample Response 3

```
 { 
   "code": "success", 
   "details": "", 
   "campaignId": 50003 
   "campaignOptions": ["COMPLEMENTARY_OPT_OUT, BRAND_TERM_OPT_OUT"] 
 } 
```

## Sample Response 4

```
 { 
   "code": "success", 
   "details": "", 
   "campaignId": 50004 
   "campaignOptions": ["COMPLEMENTARY_OPT_OUT"] 
 } 
```

## Sample Response 5

```
{ 
    "code": "failure", 
    "details": "error message", 
    "campaignId": 0 
} 
```

<br />

# Campaign Status Flow Diagram

![](https://files.readme.io/f99eb7bfc44af2a260773a347a94901398761f935758db54c50f0113122befd0-Sponsored-Search-Campaign-Management-Workflow.png) Note: SB stands for Sponsored Brands campaign