> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Insert Promotion

> Inserts or replaces a promotion (sale, discount, or coupon) in a Merchant Center promotion data source

Inserts or replaces a promotion (sale, discount, or coupon) in a Merchant Center promotion data source. Re-inserting the same promotionId replaces the promotion.

|                       |                        |
| --------------------- | ---------------------- |
| **App**               | Google Merchant Center |
| **Operation ID**      | `gmc_insert_promotion` |
| **Type**              | Action                 |
| **Connection**        | `gmc` (required)       |
| **Credits per run**   | 1                      |
| **Agent / MCP tool**  | Yes                    |
| **Requires approval** | Yes (write operation)  |

## Inputs

| Field            | Type                 | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ---------------- | -------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`        | DynamicAccount       | Yes      | -       | Select the Merchant Center account in which to insert the promotion.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `data_source_id` | string or SelectItem | Yes      | -       | Promotion API data source ID. Create one with gmc\_create\_data\_source using a promotionDataSource input.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `promotion`      | object or string     | Yes      | -       | Official Google Merchant API Promotion body as an object or JSON string, sent as-is. Use Google's REST camelCase field names exactly. Required fields per Google: promotionId, contentLanguage, targetCountry, redemptionChannel, and attributes with longTitle, offerType, couponValueType, productApplicability, genericRedemptionCode (for GENERIC\_CODE offers), and promotionEffectiveTimePeriod startTime/endTime. Inserting with an existing promotionId replaces the promotion. Example: \{"promotionId": "summer\_sale\_20", "contentLanguage": "en", "targetCountry": "US", "redemptionChannel": \["ONLINE"], "attributes": \{"longTitle": "20% off all shirts", "offerType": "GENERIC\_CODE", "genericRedemptionCode": "SUMMER20", "couponValueType": "PERCENT\_OFF", "percentOff": "20", "productApplicability": "ALL\_PRODUCTS", "promotionEffectiveTimePeriod": \{"startTime": "2026-08-01T00:00:00Z", "endTime": "2026-08-31T23:59:59Z"}}} |

### SelectItem

| Field   | Type   | Required | Default | Description                                                                                          |
| ------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------- |
| `value` | string | Yes      | -       | The value of the selectable item.                                                                    |
| `label` | string | Yes      | -       | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

## Output

**Type**: `Dict`

Returns the inserted promotion.

**Fields**: `promotion`
