Note: Enabling subscriptions can only be completed after you finish integration work for the new simplified Shops ads experiences feature.
You can add subscriptions products into your Meta catalog using a catalog feed. (Estimated effort <1 week)
| PDP | Cart | Checkout via Seller’s Website in IAB |
|---|---|---|
A new field subscription_plans in the catalog is now supported. This field is a JSON encoded string with fields requires_subscription_plan and plans.
| Attribute | Required | Description |
|---|---|---|
requires_subscription_planbool | true | If true, the product item only supports subscription purchase. One-time purchase is not supported. If false, both subscription purchase and one-time purchase are supported. |
planslist<SellingPlan> | true | A list of SellingPlan |
| Attribute | Required | Description |
|---|---|---|
idstring | true | The id of the subscription plan, Meta will be passing this within the checkout URL. |
billing_frequencyBillingFrequency | false | The billing frequency |
delivery_frequencyDeliveryFrequency | false | The delivery frequency |
price_adjustmentPriceAdjustment | false | The price adjustment |
| Attribute | Required | Description |
|---|---|---|
intervalstring | true | Supported values: day, month, week, year |
interval_countinteger | true | Frequency of billing Example value: 1 |
| Attribute | Required | Description |
|---|---|---|
intervalstring | true | Supported values: day, month, week, year |
interval_countinteger | true | Frequency of delivery Example value: 1 |
| Attribute | Required | Description |
|---|---|---|
adjustment_value_typestring | true | Supported values: fixed_amount, percentage |
adjustment_percent_valuefloat | false | The percent off for percentage type Example value: 10 |
adjustment_fixed_value_amountfloat | false | The amount off for fixed_amount type Example value: 20 |
{
"requires_subscription_plan": true,
"plans": [
{
"id": "monthly plan",
"delivery_frequency": {
"interval": "month",
"interval_count": 1
}
},
{
"id": "monthly plan with 10% off",
"delivery_frequency": {
"interval": "month",
"interval_count": 1
},
"price_adjustment": {
"adjustment_value_type": "percentage",
"adjustment_percent_value": 10,
"adjustment_fixed_value_amount": null
}
},
{
"id": "monthly plan with $10 off and annual bill",
"delivery_frequency": {
"interval": "month",
"interval_count": 1
},
"price_adjustment": {
"adjustment_value_type": "fixed_amount",
"adjustment_percent_value": 10,
"adjustment_fixed_value_amount": null
},
"billing_frequency": {
"interval": "year",
"interval_count": 1
}
}
]
}You will need to make changes to the custom checkout URL that allows Meta to send a buyer to your checkout screen.
| Query Parameter | Description | Examples |
|---|---|---|
| Required. Your web server should provide an API similar to decodeURIComponent to parse these parameters. Products with comma (,) or colon (:) characters in their ID are not supported. |
This example cart has the following two products:
|
| Optional. |
|
| Optional. | Encoded example: Decoded example: |
https://your-website.com/any-url?products=<product-id:1>&coupon=<promo>
https://your-website.com/any-url?products=<product-id:1>&coupon=<promo>&products_json=<products_json>