Create dynamic offers
Create dynamic offers by setting up products and associated charges in Zuora, defining inputs, and configuring rules for pricing, discounts, and custom properties.
Before creating a dynamic offer, you must make sure that in the Zuora tenant, the products and the associated charges & price points are properly set up. For a detailed explanation of why this is needed and how to complete the setup, see Price Property. Use the following steps to create a dynamic offer:
- Navigate to Products > Dynamic Offers.
- Click Add a Dynamic Offer .
- On the Add a Dynamic Offer screen, enter a title for the offer. The slug of the offer will be shown under the field. Optionally, enter a description for the offer. Click Save to proceed.
-
On the configuration screen, locate the
Inputs
section where you can define the inputs that you need:
- You can deselect the default input options.
- You can also add custom input as needed. You need to specify the title, key, and type of the custom input. Available input types are String, Number and Boolean. Later you can set up rules that contain different branches based on the evaluation of the input values. Note that the custom inputs are optional for the API requests.
If you are not familiar with the concept of Input in Zephr, see Developer Interface for SDK Features.After you have set up the input fields, you can preview the example request in cURL in the Implementation section. To copy the example request, hover over to the upper right corner of the code block and click the Copy icon. -
Define rules for the product, price, tagline and discount properties. You need to be familiar with the Zephr Rules Builder
feature before configuring the rules.
- Product: Click Product Output > Add Product Output to create a product output. A product output could contain one or more products defined in your product Catalogue. Note that the key-value pair attributes of the returned products will be included in the API response. For each specific product output, you can override the original values that have been set on each product with customized information. For more information, see Product Property .
- Price: If you use Zuora Billing as the payment provider, you can use the Price property to set up rules to return different prices dynamically. For more information about how to work with the Price rule builder, see Price Property .
- Tagline: You can define different string values using the String Output node.
- Discount: Define the discounts that can be dynamically applied to the products or certain prices of a product. For more information, see Discount Property . Note: Discount will not directly be applied to the returned prices.
-
Under the
Custom Properties
section, you can add custom properties for your offer based on need and define rules for the custom properties:
- Click Add New Property .
- Enter a title for the property and specify the output type. Available type options are Component, Enum, String, and Number. Note that if you select Component or Enum as the type, you'll need to add output options.
- Define rules for the property using Rules Builder. You can change to a different output type by unlocking the Developer Interface at the bottom of the screen.
- Click Save.
- Preview the API request in the Implementation section at the bottom of the screen.
- At the bottom of the configuration page, select how the dynamic offer version is saved. Available options are Save Draft , Save and Stage , and Save and Publish .
-
Preview and validate the dynamic offer to see if it works as expected. To create an offer preview, go back to the homepage of the dynamic offer and click the Offer Preview section. For more information, see Preview and validate your dynamic offers
.
You can create different versions for a dynamic offer. You can also use the preview domain to test the dynamic offer versions. For more information, see Dynamic Offers versioning.On the Dynamic Offers homepage, you can edit an offer by clicking on its title. To delete an offer, click the More icon on the right, and then click Delete.