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

# Promotions

The Global-e cartridge supports most standard Salesforce B2C Commerce promotions. Configure promotions in Business Manager the same way as for domestic customers, with a few additional **Global-e custom attributes** on each promotion.

A promotion is considered for Global-e checkout when it is **valid and active**, assigned to an **ongoing campaign**, and Global-e custom attributes are set correctly. Campaign qualifiers (**Customer Group**, **Coupon Code**, **Source Code**) are optional — a promotion can apply broadly without them — but they are commonly used to target international shoppers or require a coupon.

Threshold amounts and discount conversion depend on whether the shopper is in a [dynamic or fixed pricing country](/price-calculation-sfcc). Configure [price books](/price-calculation-sfcc) before tuning promotions.

***

## Promotion thresholds and currencies

Set promotion thresholds according to your pricing strategy:

| Pricing strategy | Currency for thresholds |
| - | - |
| **Dynamic price** countries | Merchant **base currency** (e.g. USD if that is your base) |
| **Fixed price** countries | End-customer **local currency** |

**Example:** For a "Spend \$100, get 10% off" order promotion in dynamic-price markets, set the threshold to `100` in base currency. For fixed-price Germany (EUR), set the threshold to `100` EUR.

***

## When is a promotion eligible for Global-e?

1. Promotion is **enabled** and **not archived** *(standard SFCC platform requirement — the Global-e cartridge only checks `promotion.active`).*
2. Promotion is assigned to an **active campaign** with online scope *(standard SFCC platform behavior).*
3. **Promotion Discount Type** (`geDiscountType`) matches the SFCC discount type (see support matrix below) — this is the Global-e cartridge check.
4. For amount-based discounts in dynamic pricing, optionally configure **Do not Convert** (see attribute reference).

**Optional campaign qualifiers:** You may restrict who receives the promotion using **customer group**, **coupon code**, or **source code** on the campaign assignment — but none of these are required for the campaign to run. A common pattern for international-only promotions is the `GlobaleCustomers` customer group (membership when `session.custom.geIsOperated` is true). See [Customer Groups](/customer-groups-sfcc); demo definition: `metadata/demo/demo.customergroup.xml`.

***

## Global-e promotion custom attributes

All attributes are on the Promotion object under **Global-e Settings** in Business Manager. Full attribute definitions: [Metadata → Promotion](/metadata-sfcc#promotion).

### geDiscountType — Promotion Discount Type

| Property | Value |
| - | - |
| **Display name** | Promotion Discount Type |
| **Type** | Enum (the Business Manager field is not metadata-mandatory, but it must be set for Global-e promotional pricing and SendCart discounts to work) |
| **Default** | `PERCENTAGE` |

Maps the SFCC promotion rule discount to the type Global-e uses when calculating promotional prices and SendCart discounts.

| Value | SFCC discount types | When to use |
| - | - | - |
| `PERCENTAGE` | Percent off (product, order, shipping) | e.g. 10% off products or order |
| `AMOUNT` | Amount off | e.g. \$10 off a product or order |
| `FIXED_PRICE` | Fixed price (product) | e.g. set item price to \$29.99 |
| `PRICE_BOOK_PRICE` | Price from price book | Sale price driven by alternate price book |
| `TOTAL_FIXED_PRICE` | Buy N for total price of Y | e.g. 3 for \$50 |
| `FREE` | Free / free shipping | Free bonus item or free shipping |
| `BONUS` | Bonus product(s) | Add a free bonus SKU |
| `BONUS_CHOICE` | Choice of bonus products | Customer picks from bonus list |

**Rule:** Set this to the same logical discount as the SFCC **Promotion Rule** section. If they disagree, storefront promotional prices and checkout discount payloads may be wrong.

***

### geDoNotConvert — Do not Convert Promotional Discount

| Property | Value |
| - | - |
| **Display name** | Do not Convert Promotional Discount |
| **Type** | Boolean |
| **Default** | `false` (discount **is** converted to end-customer currency) |

When **unchecked** (default): the discount amount is converted to the shopper's currency using Global-e pricing rules (dynamic countries).

When **checked**: the numeric discount is applied **as-is** in the amount configured in SFCC — e.g. "10 off" means 10 in whatever currency the customer sees (\$10, €10, £10). Use for "same number off in every market" campaigns.

**Applies only to:** `AMOUNT`, `FIXED_PRICE`, `PRICE_BOOK_PRICE`, `TOTAL_FIXED_PRICE`.

**Ignored** for fixed-price strategy countries (promotional price comes from fixed price books).

| Scenario | Recommended setting |
| - | - |
| \$10 off in base currency, converted per country | `false` |
| Flat "10 off" in customer currency everywhere | `true` |
| Percentage off | Not applicable (leave `false`) |

***

### geFreeShippingMethod — Global-e Free Shipping Method

| Property | Value |
| - | - |
| **Display name** | Global-e Free Shipping Method |
| **Type** | Enum |
| **Applies to** | Free **shipping** promotions only |

SFCC shipping methods are not linked to Global-e shipping hierarchies. This attribute tells Global-e which **shipping method hierarchy** should be forced free at checkout.

| Value | Description (Global-e hierarchy) |
| - | - |
| `1` | Express Courier, Express Courier (Air), Express Shipping, Express Plus |
| `2` | Standard Express, Premium Standard, Standard Courier |
| `3` | Tracked Post, Tracked Standard |
| `4` | Standard Post, Tracked Post (Pickup location), Standard Delivery |
| `5` | Virtual Goods |
| `6` | Untracked Post |
| `7` | Store Collection, Collection Point |

**Example:** "Free standard delivery over \$75" → shipping promotion with **Free** discount, `geDiscountType` = `FREE`, `geFreeShippingMethod` = `4`.

***

## Promotions support matrix

The table below reflects Global-e cartridge support by promotion class, condition, and discount type.<br />
**GE Promotion Discount Type** = value for `geDiscountType`.<br />
**GE Do not Convert** = "Supported" means `geDoNotConvert` may be used (for applicable discount types).

| Promotion class | Condition type | Discount type | GE Promotion Discount Type | GE Do not Convert | Dynamic price | Fixed price |
| - | - | - | - | - | - | - |
| **Product** | Without qualifying products | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Fixed price | `FIXED_PRICE` | Supported | Yes | Yes |
| | | Price from pricebook | `PRICE_BOOK_PRICE` | Supported | Yes | Yes |
| | | Percent off product options | `PERCENTAGE` | — | Yes | Yes |
| | | Bonus product(s) | `BONUS` | — | Yes | Yes |
| | | Choice of bonus products (list) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Choice of bonus products (rule) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Fixed price shipping | — | — | No | No |
| | | Free shipping | — | — | No | No |
| | With amount of qualifying products\* | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Fixed price | `FIXED_PRICE` | Supported | Yes | Yes |
| | | Price from pricebook | `PRICE_BOOK_PRICE` | Supported | Yes | Yes |
| | | Percent off product options | `PERCENTAGE` | — | Yes | Yes |
| | | Bonus product(s) | `BONUS` | — | Yes | Yes |
| | | Choice of bonus products (list) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Choice of bonus products (rule) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Fixed price shipping | — | — | No | No |
| | | Free shipping | — | — | No | No |
| | With number of qualifying products | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Fixed price | `FIXED_PRICE` | Supported | Yes | Yes |
| | | Price from pricebook | `PRICE_BOOK_PRICE` | Supported | Yes | Yes |
| | | Percent off product options | `PERCENTAGE` | — | Yes | Yes |
| | | Bonus product(s) | `BONUS` | — | Yes | Yes |
| | | Choice of bonus products (list) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Choice of bonus products (rule) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Fixed price shipping | — | — | No | No |
| | | Free shipping | — | — | No | No |
| | With combination of qualifying products | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Fixed price | `FIXED_PRICE` | Supported | Yes | Yes |
| | | Price from pricebook | `PRICE_BOOK_PRICE` | Supported | Yes | Yes |
| | | Percent off product options | `PERCENTAGE` | — | Yes | Yes |
| | | Bonus product(s) | `BONUS` | — | Yes | Yes |
| | | Choice of bonus products (list) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Choice of bonus products (rule) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Fixed price shipping | — | — | No | No |
| | | Free shipping | — | — | No | No |
| | Buy X / Get Y | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Fixed price | `FIXED_PRICE` | Supported | Yes | Yes |
| | | Price from pricebook | `PRICE_BOOK_PRICE` | Supported | Yes | Yes |
| | | Free | `FREE` | — | Yes | Yes |
| | Buy X and Y / Get Z | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Fixed price | `FIXED_PRICE` | Supported | Yes | Yes |
| | | Price from pricebook | `PRICE_BOOK_PRICE` | Supported | Yes | Yes |
| | | Free | `FREE` | — | Yes | Yes |
| | Buy X for total | Buy N for total price of Y | `TOTAL_FIXED_PRICE` | Supported | Yes | Yes |
| **Order** | With amount of qualifying products\* | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Bonus product(s) | `BONUS` | — | Yes | Yes |
| | | Choice of bonus products (list) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Choice of bonus products (rule) | `BONUS_CHOICE` | — | Yes | Yes |
| | With number of qualifying products | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Bonus product(s) | `BONUS` | — | Yes | Yes |
| | | Choice of bonus products (list) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Choice of bonus products (rule) | `BONUS_CHOICE` | — | Yes | Yes |
| | With a combination of products | Percent off | `PERCENTAGE` | — | Yes | Yes |
| | | Amount off | `AMOUNT` | Supported | Yes | Yes |
| | | Bonus product(s) | `BONUS` | — | Yes | Yes |
| | | Choice of bonus products (list) | `BONUS_CHOICE` | — | Yes | Yes |
| | | Choice of bonus products (rule) | `BONUS_CHOICE` | — | Yes | Yes |
| **Shipping** | With amount of shipment-qualifying products\* | Percent off | `PERCENTAGE` | — | No | No |
| | | Amount off | `AMOUNT` | — | No | No |
| | | Fixed price | `FIXED_PRICE` | — | No | No |
| | | Free | `FREE` | — | Yes | Yes |
| | With number of shipment-qualifying products | Percent off | `PERCENTAGE` | — | No | No |
| | | Amount off | `AMOUNT` | — | No | No |
| | | Fixed price | `FIXED_PRICE` | — | No | No |
| | | Free | `FREE` | — | Yes | Yes |
| | With combination of shipment-qualifying products | Percent off | `PERCENTAGE` | — | No | No |
| | | Amount off | `AMOUNT` | — | No | No |
| | | Fixed price | `FIXED_PRICE` | — | No | No |
| | | Free | `FREE` | — | Yes | Yes |

* Qualifying product amount thresholds follow the currency rules in Promotion thresholds and currencies.

**Not supported for Global-e:** Product-level "fixed price shipping" and "free shipping" discount types on **product** promotions. Use **shipping** promotion class with **Free** discount instead.

***

## Business Manager configuration examples

### Example 1 — 10% off all products (with coupon)

**Goal:** Customers enter coupon `INTL10` for 10% off eligible products.

| Step | Business Manager setting |
| - | - |
| Campaign | Create/enable campaign (e.g. `GLOBALE-SPRING`) |
| Coupon | Create coupon `INTL10`, link to assignment (optional: add `GlobaleCustomers` to limit to international sessions) |
| Promotion class | Product |
| Discount | Percent off → `10` |
| Products | Your eligible catalog/category rules |
| **Global-e Settings** | |
| Promotion Discount Type | `PERCENTAGE` |
| Do not Convert | `false` (not applicable for percentage discounts) |
| Global-e Free Shipping Method | Not applicable (product promotion) |

***

### Example 2 — \$10 off order (converted from base currency)

**Goal:** $10 off orders over $75 for international shoppers (dynamic pricing).

| Step | Business Manager setting |
| - | - |
| Promotion class | Order |
| Condition | Product quantity ≥ 1 (or amount ≥ `75` in **base currency**) |
| Discount | Amount off → `10` |
| **Global-e Settings** | |
| Promotion Discount Type | `AMOUNT` |
| Do not Convert | `false` |
| Global-e Free Shipping Method | Not applicable (order promotion) |

***

### Example 3 — Flat €10 off (same numeric discount in every currency)

**Goal:** Exactly 10 off in the customer's currency (not converted from USD).

| Step | Business Manager setting |
| - | - |
| Promotion class | Product or Order |
| Discount | Amount off → `10` |
| **Global-e Settings** | |
| Promotion Discount Type | `AMOUNT` |
| Do not Convert | `true` |
| Global-e Free Shipping Method | Not applicable (product or order promotion) |

***

### Example 4 — Free standard shipping over threshold

**Goal:** Free standard delivery when cart qualifies.

| Step | Business Manager setting |
| - | - |
| Promotion class | **Shipping** |
| Qualifying products | Categories/SKUs as needed |
| Discount | **Free** (threshold e.g. quantity ≥ 1 or amount ≥ 75) |
| Shipping methods | Select Global-e SFCC methods (e.g. `GLOBALE`, `GLOBALE_STANDARD`, …) — see [Configuration](/configuration-sfcc) |
| **Global-e Settings** | |
| Promotion Discount Type | `FREE` |
| Do not Convert | `false` (not applicable for free shipping) |
| Global-e Free Shipping Method | `4` (Standard Post / Standard Delivery) |

***

### Example 5 — Bonus product with coupon

**Goal:** Free gift SKU when coupon applied.

| Step | Business Manager setting |
| - | - |
| Promotion class | Product |
| Discount | Bonus product(s) → select gift SKU(s) |
| Coupon | e.g. `FREEGIFT` on campaign assignment |
| **Global-e Settings** | |
| Promotion Discount Type | `BONUS` |
| Do not Convert | `false` (not applicable for bonus promotions) |
| Global-e Free Shipping Method | Not applicable (product promotion) |

***

## XML import reference (technical)

For bulk import or sandbox demos, see:

| File | Contents |
| - | - |
| `metadata/demo/demo.promotions.xml` | Sample product, order, shipping, and bonus promotions |
| `metadata/demo/demo.couponcodes.xml` | Coupons linked to demo promotions |
| `metadata/demo/demo.customergroup.xml` | `GlobaleCustomers` / `NonGlobaleCustomers` groups |

### Minimal XML snippet — product percent-off

```xml theme={null}
<promotion promotion-id="INTL-10PCT-PRODUCT">
    <enabled-flag>true</enabled-flag>
    <name xml:lang="x-default">10% Off International</name>
    <custom-attributes>
        <custom-attribute attribute-id="geDiscountType">PERCENTAGE</custom-attribute>
        <custom-attribute attribute-id="geDoNotConvert">false</custom-attribute>
    </custom-attributes>
    <product-promotion-rule>
        <discounted-products><!-- category/SKU rules --></discounted-products>
        <simple-discount>
            <percentage>10.0</percentage>
        </simple-discount>
    </product-promotion-rule>
</promotion>
```

### Minimal XML snippet — free shipping

```xml theme={null}
<promotion promotion-id="INTL-FREE-STANDARD-SHIPPING">
    <enabled-flag>true</enabled-flag>
    <custom-attributes>
        <custom-attribute attribute-id="geDiscountType">FREE</custom-attribute>
        <custom-attribute attribute-id="geDoNotConvert">false</custom-attribute>
        <custom-attribute attribute-id="geFreeShippingMethod">4</custom-attribute>
    </custom-attributes>
    <shipping-promotion-rule>
        <discounts condition-type="product-quantity">
            <discount>
                <threshold>1</threshold>
                <free/>
            </discount>
        </discounts>
    </shipping-promotion-rule>
</promotion>
```

**See also:** [Price Calculation](/price-calculation-sfcc) · [Customer Groups](/customer-groups-sfcc) · [Checkout discount vouchers](/checkout-discount-vouchers-sfcc) · [Metadata → Promotion](/metadata-sfcc#promotion) · [Configuration](/configuration-sfcc)
