Checkout Process Parameters
Cleverbridge offers many parameters to control the checkout process.
Warning
Cleverbridge URLs must not exceed 2,000 characters. Certain browsers may not be able to process URLs that exceed this length.
The checkout parameters can be divided into several categories:
Products
Checkout process URLs contain parameters that determine the products that appear in the shopping cart.
Products
&cart=<product list>
- string
Cleverbridge's product ID or internal product ID of the selected products Separate multiple product IDs with a comma. If the internal product ID is used, it should be preceded by the capital letter I.
Example
&cart=97769,IBC345
Multiple Occurrences of One Product
<bool>
- boolean
By default, if a product is added more than once to the shopping cart, the quantity of the existing line item is increased.
Set this parameter to true to allow multiple occurrences of the same product.
Example
&cart=123123,123123&allowmultiple=true
Dynamic Products
Using the parameter dp
, you can create customized checkout process URLs that include a unique product price, discount price, and product name.
Note
Use UTF-8 encoding when generating dynamic links.
Example
Here is an example of a dynamic product in a checkout process URL. The product price is dynamically set to 34.95 EUR and 39.95 USD, then a 10 EUR or 10 USD discount is subtracted, so the new total price is 24.95 EUR or 29.95 USD:
&dp_123456=**DISCOUNT:10:EUR,10:USD;G**PRICE:34.95:EUR,39.95:USD;G __CHECKSUM:7f09d0bdd7236e5553d58e76735122769f6eec70c74713c97ce601e7641c8be7
Basic Parameters
You can use the dp
parameter in the following way:
&dp_<product ID>=
__PRICE:<amount1>:<currency1>,<amount2>:<currency2>,…;<price type>
__DISCOUNT:<amount1>:<currency1>,…;<price type>
__NAME:<dynamic product name url encoded>
__INTERNALPRODUCTID:<internal ID>
__ADDITIONALNAME:<additional name information>
__CHECKSUM:<SHA256 checksum>
Parameter | Data type | Description |
---|---|---|
<amount1> | number | Price of the product. |
<currency1> | string | Currency related to the price, according to ISO_4217. |
<amount2> | number | Price of the product in an additional currency. |
<currency2> | string | Currency related to the price, according to ISO_4217 . |
... | Value group <amount>:<currency> can be repeated as often as required.📘 Note: The special currency type PCT can be used to define a percentage value for the __DISCOUNT . For example, __DISCOUNT:50:PCT defines a 50% discount. | |
<price type> | string | Defines whether or not the defined price includes VAT: - G for including VAT (Gross) - N for excluding VAT (Net) |
<internal ID> | string | Your internal unique product ID for this purchase (optional). This overwrites any defined internal product ID for the product. |
<additional name information> | string | Use for additional product information. This is set in Commerce Assistant and displayed to customers in an additional line within the shopping cart and checkout process. |
<SHA256 checksum> | string | Calculated SHA256 checksum. For more information, |
Recurring Billing Parameters
Additional (optional) parameters for recurring billing products include:
__PRICE_INTERVAL:<last period to apply>
__DISCOUNT_INTERVAL:<last period to apply>
__RENEWALDATE:<date>
__TIMETOFIRSTREBILLING:<count>;<unit>
<last period to apply>
- integer
Number of the last period (interval) for which the dynamically submitted price should be applied. 0 means that the special price (__PRICE
) should only be used for the initial purchase.
The __PRICE_INTERVAL
parameter can take more values to control a recurring product price per specific intervals, and can be used multiple times. The extended syntax is as follows:
__PRICE_INTERVAL:<last period to apply>:<amount>:<currency>;<price type>
Example
A company sets up a dynamic product with a default price of 12€. The company then provides the following link to a customer:
<https://www.cleverbridge.com/1584/>?scope=checkout&cart=214945&dp_214945=__PRICE_INTERVAL:0:11:EUR;N__PRICE_INTERVAL:2:15:EUR;N__PRICE_INTERVAL:3:20:EUR;N__CHECKSUM:7f09d0bdd7236e5553d58e76735122769f6eec70c74713c97ce601e7641c8be7
Based on the highlighted
__PRICE_INTERVAL
parameters, the customer would be charged the following:
- 11€ for interval 0
- 15€ for interval 1 (This price is not defined in the URL. It was automatically derived from the price defined for interval 2.)
- 15€ for interval 2
- 20€ for interval 3
- 12€ for interval 4 (This price is not defined in the URL. It is the default price of the dynamic product.)
Important
Read the following logic considerations before using the
PRICE_INTERVAL
orDISCOUNT_INTERVAL
parameters:
- The value specified for a particular interval will be applied to all preceding intervals if no other interval values are specified. For example, a company sets up a dynamic product in which the price for interval 3 is specified. The price for interval 3 will be applied to intervals 0-2.
- The value specified for a particular interval will be applied to all preceding intervals until another value is specified. For example, a company sets up a dynamic product in which unique prices for intervals 0,1, and 3 are specified. The price for interval 3 will be applied to interval 2.
- The default value will be applied to all intervals if neither the
PRICE_INTERVAL
nor theDISCOUNT_INTERVAL
parameter is used. For example, a company sets a dynamic product with a default price 10€. Neither thePRICE_INTERVAL
nor theDISCOUNT_INTERVAL
parameter is used. As a result, the price for each interval is 10 €.- The default value will be applied to all intervals that occur after the intervals specified in the
PRICE_INTERVAL
orDISCOUNT_INTERVAL
parameters. For example, a company sets up a dynamic product with a default price 10€. ThePRICE_INTERVAL
parameter is used to specify unique prices for intervals 0-3. The price for interval 4 will be 10€.
<date>
- date (yyyymmdd)
Sets up the date on which the subscription is up for renewal.
Warning
__RENEWALDATE
allows you to set a custom next billing date. Be aware that any subsequent renewal dates occurring after this custom next billing date will be calculated based on one of the following:
- The Recurring Subscription Interval set up for the product in the Products section of Commerce Assistant. See Products ✱.
- The length of the Recurring Subscription Interval set up in the Configure > Manage Products section of our web admin tool.
As a result, any subsequent renewal dates will be calculated based on the following formula:
__RENEWALDATE + <recurring subscription interval/length of recurring billing interval>
.
<count>;<unit>
- integer; string
Time until the first recurring billing event occurs. can be M for months or D for days.
Important
The maximum allowed length for
<count>
is three characters for months (M) and four characters for days (D).
Example
The first recurring billing event should occur after 100 days.
__TIMETOFIRSTREBILLING:100;D
Product Selection
Using the parameter dp_s<selection ID>
, you can also create customized checkout process URLs including a dynamic discount price for the <selection ID>
product selection. For example, this parameter is useful for applying a percentage discount to all items within a product selection.
You can use the dp_s<selection ID>
parameter as follows:
&dp_s<selection ID>=
__PRICE:<amount1>:<currency1>,<amount2>:<currency2>,…;<price type>
__DISCOUNT:<amount1>:<currency1>,…;<price type>
__CHECKSUM:<SHA256 checksum>
Example
A company sets up a dynamic product selection (
dp_s
) price to 100 EUR/USD gross, and on top of that a 20% discount is applied to all items within the product selection, so a customer sees the 80 EUR/USD gross price in the checkout:
<https://www.cleverbridge.com/1584/?scope=checkout&cart=s1234&dp_s1234=**PRICE:100:EUR,100:USD;G**DISCOUNT:20:PCT__CHECKSUM>:<SHA256 CHECKSUM>
More than One Dynamic Product
You can submit more than one dynamic product in one URL. The product ID must be unique in the URL. Therefore, the rules for constructing the URL differ, depending on whether or not you want to submit different products or multiple instances of the same product:
If you want to submit different dynamic products in one URL, add the parameter dp_<product ID>
for every product in the cart.
Example
...
&cart=111111,123456&dp_111111=**PRICE:49.95:USD;N**NAME:Basic Package**CHECKSUM:<SHA256 CHECKSUM>&dp_123456=**PRICE:29.95:USD;N**NAME:Premium Package**CHECKSUM:<SHA256 CHECKSUM>
If you want to submit the same product multiple times in one URL, add the parameter dprno_<RunningNo>
for every instance of the product in the cart. In addition, add &allowmultiple=true
to the URL, which enables you to add multiple occurrences of the same product.
Example
...
&cart=111111,111111&dprno_1=**PRICE:49.95:USD;N**NAME:Basic Package**CHECKSUM:<SHA256 CHECKSUM>&dprno_2=**PRICE:29.95:USD;N**NAME:Premium Package**CHECKSUM:<SHA256 CHECKSUM>&allowmultiple=true
If you are building a cart containing multiple dynamic products and requiring the data to be encapsulated behind a session URL, add the cartreset=true
parameter. This is to ensure that your cart will contain the exact same dynamic products even if the page is refreshed.
Dynamic Product Protection Logic
The checksum for dynamic product protection is an SHA256 hash key based on the following string:
SHA256(dp_<productId>=__PRICE:<amount1>:<currency1>,…;<price type>__DISCOUNT:<amount1>:<currency1>,…;<price type>__NAME:<name>#<seedfordynamicproducts>)
To calculate the checksum, you must insert the hash key (#) at the end of the dynamic parameter string, followed by the Seed for Dynamic Products that you defined in Commerce Assistant.
Parameter | Data type | Description |
---|---|---|
Dynamic parameter | string | __PRICE:29.95:USD,24.95:EUR;N__NAME:My Product Name |
Seed for dynamic products | string | TEST |
String based on SHA256 hashing | string | dp_product ID=**PRICE:29.95:USD,24.95:EUR;N**NAME:My Product Name#TEST |
SHA256 hash | string | 7f09d0bdd7236e5553d58e76735122769f6eec70c74713c97ce601e7641c8be7 |
Parameter | string | dp=**PRICE:29.95:EUR,24.95:USD;N**NAME:My Product Name\_\_CHECKSUM:7f09d0bdd7236e5553d58e76735122769f6eec70c74713c97ce601e7641c8be7 |
Warning
The product name must not be URL encoded when the SHA256 hash key is generated. For example, a space should be a ' ' and not '%20'.
Note
The sequence of the dynamic product parameters (
__PRICE, __DISCOUNT, __NAME
) is not important. However, you must use the same order for thedp
parameter and the SHA256 hash key generation.
Note
To find your Seed for Dynamic Products in Commerce Assistant, go to Account Setup > General > Additional Details. For more information, see Account Setup ✱.
Example of Dynamic Product Parameter with SHA256 Checksum
The fictional company, Shieldware, offers two software security products:
- Internet Security Basic (215225)
- Mobile Internet Security (215186)
Normally, when a customer adds these products to the cart and starts the checkout process, the URL appears as follows:
<https://www.shieldware.com/864/?scope=checkout&cart=215225,215186>
However, on January 1, 2019, Shieldware decides to offer a New Years Day promotion. Instead of creating new products or promotions in the Cleverbridge platform, they decide to overwrite some of the properties of these products, including the name and price, using the dynamic product parameter.
To do so, Shieldware completed the following steps:
- They added the following parameter to Internet Security Basic (215225):
&dp_215225=__NAME:Internet%20Security%20Basic%20Special%20Offer__ADDITIONALNAME: New%20Years%20Edition**DISCOUNT:5:EUR;G__PRICE:50:USD,45:EUR;G
- They added the following parameter to Mobile Internet Security (215186):
&dp_215186=__NAME:Mobile%20Internet%20Security%20One%20Time%20Offer__PRICE:95:USD;G
- They calculated the checksum for both dynamic product parameters. The result is as follows:
SHA256(dp_215225=__NAME:Internet Security Basic Special Offer__ADDITIONALNAME:New Years Edition__DISCOUNT:5:EUR;G__PRICE:50:USD,45:EUR;G#SeedforDynamicProducts) = cdcb6fe13087b22afb69345c7feb412a3637bf14a09c41f9b3b950b81c585b38
SHA256(dp_215186=__NAME:Mobile Internet Security One Time Offer__PRICE:95:USD;G#SeedforDynamicProducts) = 7cfc913bc1712395b88369acc9130c396d69897e2d01e4fcecf3edcfcdbaf6b6
- They added the dynamic parameters and
__CHECKSUM:value
to the original URL. For the New Years Day promotion, the URL appeared as follows:
https://www.shieldware.com/864/?scope=checkout&cart=215225,215186&dp_215225=__NAME:Internet%20Security%20Basic%20 Special%20Offer__ADDITIONALNAME:New%20Years%20Edition**DISCOUNT:5:EUR;G__PRICE:50: USD,45:EUR;G__CHECKSUM:cdcb6fe13087b22afb69345c7feb412a3637bf14a09c41f9b3b950b81c585b38&&dp_215186= __NAME:Mobile%20Internet%20Security%20One%20Time%20Offer__PRICE:95:USD;G__ CHECKSUM:7cfc913bc1712395b88369acc9130c396d69897e2d01e4fcecf3edcfcdbaf6b6
Quantity Settings
Checkout process URLs can contain parameters that control product quantities.
Item Quantity - Simple
&quantity=<quantity>
- integer
Set the quantity of the product or product list. The customer can change the quantity of the products in the checkout process. If no quantity parameter is set, a single quantity is used as default.
Example
&quantity=2
Customize Item Quantities
&quantity=<quantity>,<quantity>,<quantity>
- integer
Enables you to limit the quantity values available in the quantity selector drop-down for the customer in the checkout process. Pass the number list separated by commas in the quantities parameter in the URL.
Example
&quantities=2,4,5,7
The quantity selector drop-down can only be enabled when package pricing is configured. To enable package pricing, choose Top-Down Discount (Packages) in your product pricing setup and define the price for each available quantity.
Note
To enable the drop-down selection of available quantities in your checkout, contact Client Experience.
Item Quantity - By Product
<product id
- integer
ID of the product you want to set the quantity for. The ID must be part of the product list that is submitted in the cart parameter.
<quantity>
- integer
Use a numeric value for the quantity of the product.
Example
&quantity_123123=4
Item Quantity - By Running Number
<running cart no>
- integer
Specifies the position of the product in the comma-separated list used in the cart parameter.
<quantity>
- integer
Use a numeric value for the quantity of the product.
Example
&cart=123123,123124&quantityrno_1=3&quantityrno_2=5
Minimum and Maximum Quantity
&minquantity=<quantity>&maxquantity=<quantity>
&minquantity_<productId>=<quantity>&maxquantity_<productId>=<quantity>
&minquantityrno_<runningNo>=<quantity>&maxquantityrno_<runningNo>=<quantity>
<quantity>
- integer
Overrides the minimum and maximum quantity of the product. If these values are the same, the user cannot change the quantity in the cart.
Example
&cart=123123&minquantity=10&maxquantity=10
Allow Items to Have Zero Quantity
<bool>
- boolean
By default, items with a quantity of zero are automatically removed from the cart. Set this parameter to true to allow items with zero quantity.
This feature can be useful if you want to offer the customer a product selection.
Example
&cart=123123&quantity_123123=0&allowzeroquantity=true
Coupon Settings
Coupons can be added to the checkout process. Use the following parameters to add coupon codes, and to enable or disable coupons.
Coupon Code Inclusion
<coupon code>
- string
One of your entered coupon codes from within our database. This coupon code will be used for all products it is valid for. The customer automatically receives the discount and doesn’t have to enter the code during the checkout process.
Example
&coupon=ABC-DEF-123
Enable Coupon
<enablecoupon=<bool>
- boolean
By default, coupons are enabled if at least one product in the cart has an active coupon.
By setting this parameter to false
, the coupon input field is not shown.
By setting this parameter to force
, the coupon input field is shown, even though all included items are already discounted with an included coupon=
parameter. This can be useful if you want to allow a customer to add a different coupon (with a higher discount).
Example
&cart=123123&enablecoupon=false
<enablecoupon=<force>
- string
By default, coupons are enabled if at least one product in the cart has an active coupon.
By setting this parameter to force
, the coupon input field is shown, even though all included items are already discounted with an included coupon=
parameter. This can be useful if you want to allow a customer to add a different coupon (with a higher discount).
Example
A coupon of 30% is already passed on in a URL. If an additional coupon is sent in an email, no coupon entry field will be in the checkout. Use the
force
parameter to display the coupon code field despite the link already being included in another coupon. If the customer then enters a coupon from an email, the coupon of the URL will be overwritten.
Cart Settings
This section describes miscellaneous parameters used in a cart.
Prohibit Cart Changes
&lockcart=<bool>
- string
Prevent customers from changing cart items.
Example
&lockcart=true
Cart Reset
cartreset=<bool>
- boolean
Set this parameter to true
to reset the entire cart information in the current session; for example, coupon codes and recommendations submitted by a parameter.
Example
&cartreset=true
Cart Item Reset
&cartitemreset=<bool>
- boolean
Set this parameter to true
to remove all items from the cart. Coupon codes and recommendations will still be active for new items added to the cart.
Example
&cartitemreset=true
Cookie Settings
By default, Cleverbridge uses a checkout process that avoids setting cookies in the customer’s browser. However, in order to offer a persistent shopping cart hosted by Cleverbridge, cookie support must be activated. Otherwise, previous selections will be removed from the cart when the customer goes back to your website to select additional items.
Enable Cookies
&cookie=<bool>
- boolean
By default, a cookie is not set in the customer’s browser. Set this parameter to true
to enable a cookie for a persistent cart.
Example
&cart=123123&cookie=true
Note
Consider the following information when deciding on whether or not to use the cookie parameter:
- If
cookie=true
, Cleverbridge will drop a cookie on the customer's browser. If the customer exits the current session and returns at a later time, the shopping cart will be pre-filled with information from the previous session.- If the cookie parameter is not used, Cleverbridge does not drop a cookie on the customer's browser. However, if the customer exits the current session and returns at a later point, we will read any pre-existing cookies and pre-fill the shopping cart based on this information.
- If
cookie=false
, Cleverbridge does not drop a cookie on the customer's browser, and we will ignore any pre-existing cookies if the customer exits the current session and returns at a later time. This option is useful for promotional campaigns, such as newsletters, where you do not want pre-existing shopping cart data to be added to your promotion.For more information about how Cleverbridge uses cookies, see Enhance User Tracking and Security.
Reset MVT Candidate Cookie
&resetMvtCandidate=<bool>
- boolean
Submit this parameter with a display URL (PURL) to reset any pre-existing MVT candidate cookies on the customer's browser. As a result, Cleverbridge will re-evaluate all MVT criteria for this customer.
Example
&resetMvtCandidate=true
Continue Shopping URL
If this parameter is submitted to the shopping cart, the customer will see the Continue Shopping link.
&continueurl=<url>
- string
Use this parameter with cookies turned on to offer an Add to Cart option on your product listing pages. The Continue Shopping URL should then link back to your product catalog.
The value of the parameter should be URL encoded.
Example
&continueurl=http%3A%2F%2Fwww.cleverbridge.com
Continue Shopping Hash
&continuehash=<string>
- string
Use this parameter to protect continue shopping links from phishing attacks and prevent unauthorized redirect links being created. It contains a hash string calculated using the seed for continue URL protection. The hash will be appended automatically to the Continue Shopping URL when a URL is entered into the Continue URL textbox in the Link Generator (Advanced) under Cart Settings.
Example
&continuehash=B04871AA40A62560C0266H92C1ATA8FB
Currency Settings
This section describes the currency parameters used in checkout process URLs.
Pre-Assigned Currency Selection
¤cy=<currency id>
- string
Pre-assigned currency codes, based on ISO 4217.
Example
¤cy=USD
Selectable Currency List
¤cies=<currency id list>
- string
Pre-assigned currency codes, based on ISO 4217. Use commas to separate items in the list.
Example
¤cies=EUR,USD,CHF
Language Settings
This section describes the language parameters used in checkout process URLs.
Pre-Assigned Language Selection
&language=<language id>
- string
Pre-assigned language codes, based on ISO 639-1.
Example
&language=it
Reduced Language Selection
&languages=<language id list>
- string
Reduces the language selection to those specified in the parameter. Use commas to separate items in the list. The codes are based on ISO 639-1.
Example
&languages=it,pl
Disable Language Selection Option
&disableselection=<bool>
- boolean
Set this to true to remove the language selection option from the cart.
Example
&disableselection=true
Volume Discount Settings
You can add volume discount information to the checkout process. The discount information can be masked or turned off with the following parameters.
Hide Volume Discount Information
&showpricescale=<bool>
- boolean
Set this parameter to false
to hide information on volume discounts in the shopping cart.
This might be useful in targeted marketing, where you would usually expect your customers to only purchase a quantity of one.
Example
&showpricescale=false
Note
The volume discount is still applied.
Turn Off Volume Discount Feature for Products
&usepricescale=<bool>
- boolean
Set this parameter to false
to completely deactivate volume discounts for this transaction.
Example
&usepricescale=false
Calculate Price Based on Offset Quantity
&basequantity=<basequantity>
- integer
This parameter triggers a higher price scale for a purchase, which allows a higher volume discount for purchasing additional licenses.
For example, if a customer has already purchased 15 licenses and later purchases 10 more, where the next discount level is set to 20+, this parameter qualifies the new purchase for the higher discount.
This parameter must be protected to prevent customer misuse. For more information, contact Client Experience.
Example
&basequantity=20
Additional quantity options:
&basequantity_<ProductID>
&basequantity_s<SelectionID>
&basequantity_i<InternalProductID>
&basequantity[]
Configurations
The configuration parameter allows you to select one of the configurations set up in your account. You can use different configurations in order to provide different checkout flow designs and different feature sets.
Note
You can determine and set your own individual configuration in collaboration with your Client Success Manager during onboarding. For more information about the available options, see Checkout Flow > Flow Design or contact Client Experience.
&cfg=<configuration>
- string
Use this parameter to override the default Cleverbridge configuration. You are limited to the configurations set up for your account.
Example
&cfg=design2017_nr
License Keys
You can add license keys to the checkout process with the following <string>
parameters:
&previouslicense_<productId>=<string>
&previouslicenserno_<runningNo>=<string>
License code of a previously purchased license required for key generation. The code is available in the notification XML.
Example
&previouslicense_123123=MyKey0011Code
Price Rules
You can add or change price rules in the checkout process with the following parameters:
Price Rule
&pricerule=<pricerule>
- string
Use this parameter to override a price configuration set up in the Applicable Price Configurator in Commerce Assistant. This parameter controls which prices are used.
Example
&pricerule=test123
Add Additional Price Rule to Cart
&addpricerule=<value>
- string
Add new price rules each time you link to Cleverbridge, instead of providing an exclusive list of price rules.
Example
&addpricerule=springna
Recommendations
Cross-sells, sub-sells, and up-sells are campaigns known as recommendations. When defining a campaign, you can select a recommendation parameter value that triggers the campaign.
List of Recommendations
&recommendation=<list of recommendations>
- string
Parameter for the recommendation. Add a comma at the end of the values to include all campaigns that would usually be applied when no parameters are submitted in addition to the submitted campaigns. The example below includes the campaigns XS01, upab, cd
and all default campaigns.
To deactivate all recommendations, use the recommendation=none
parameter with no trailing comma.
Example
&recommendation=XS01,upab,cd,
Add Additional Recommendation to Cart
&addrecommendation=<value>
- string
Add new recommendations each time you link to Cleverbridge, instead of providing an exclusive list of recommendations.
Example
&addrecommendation=recommdationv1
Release of Order
You can ensure that an order has to be approved by you with the following parameter:
&requirerelease=<bool>
- boolean
Use this parameter to enable customers to place orders that are initially given an Awaiting Release by Client status and must be approved by you before being processed.
To approve or reject these orders, do the following:
- Go to Transactions > Purchases in the main menu of Commerce Assistant.
- Search for the purchase you would like to approve or reject.
Open the purchase. - Click the Acceptance drop-down menu at the top of the purchase viewer.
- Select one of the following:
- Approve an order (to approve the order)
- Reject an order (to reject the order)
You can use this feature for instance in the upgrade process, where the entitlement of the customer needs to be manually verified. You can also use this feature to validate that specific checkout processes are available to special entities only, such as schools, universities, or government organizations.
Example
&requirerelease=true
Tracking
You can add or disable tracking information in the checkout process using the following parameters.
Tracking Parameter Inclusion
You can add tracking or conversion rate campaign applications to your checkout process. Examples of these applications are web analytics or third-party affiliate management systems.
In some cases, you might want to trigger the inclusion of a specific pixel application only for a specific campaign. This parameter allows you to specify a particular tracking or conversion campaign.
&tracking=<tracking pixel id>
- string
Internal parameter provided by Cleverbridge for the tracking campaign.
Example
&tracking=ua123456,geUA443222
Disable Affiliate Tracking
Cleverbridge offers an affiliate management system to track revenue through affiliates and collect and pay commissions.
Sometimes, no affiliate tracking or payment should be done, even if the customer browser has been tagged with an affiliate tracking cookie.
&affiliatetracking=<bool>
- boolean
Set this parameter to false
to disable affiliate tracking.
Example
&affiliatetracking=false
Add Additional Tracking Code to Cart
&addtracking=<value>
- string
Add new tracking codes each time you link to Cleverbridge, instead of providing an exclusive list of tracking codes.
Example
&addtracking=azafb23
Dynamic Protected URLs
Use the following parameters to create dynamic protected URLs.
Dynamic Protected URLs - ID
&urlident=<id>
- string
The unique identifier issued for every URL. By using this unique identifier, Cleverbridge can decide if an order should be accepted for a given URL. The client is responsible for choosing a unique identifier for each URL not used by the client before. Letters, numbers, and characters are allowed as part of this unique ID.
Example
&urlident=dynamictest0025!
Important
This parameter is mandatory in dynamic protected URLs.
Dynamic Protected URLs - Expiry Date
&urlvaliduntil=<date>
- date
Defines the expiration date of the dynamic protected URL. Dynamic protected URLs are valid for a maximum of twelve months, starting on the day the client sends the URL to the customer. If a customer uses this URL after the expiration date, the customer is redirected to an error page stating that the URL is no longer valid. The date should be specified based on ISO 8601.
Example
&urlvaliduntil=2015-09-23
Important
This parameter is mandatory in dynamic protected URLs.
Dynamic Protected URLs - Usage
&urlusage=<quantity>
- integer
Defines the number of times the dynamic protected URL can be used for a purchase. If customers use an unexpired URL with the number of uses already reached, customers are directed to an error page stating that the URL is no longer available.
Example
&urlusage=2
Note
This parameter is not mandatory. The default value is
1
.
Dynamic Protected URLs - Query Hash
&queryhash=<MD5 hash>
- string
Checksum of the entire query string. The hash is calculated using the complete query string and the Seed for Query Protection. For more information, see Create a Dynamic Protected URL (Dynamic UURL).
Example
Shieldware wants to add a
queryhash
to the following URL so that it cannot be manipulated by a customer:https://www.cleverbridge.com/847/? scope=checkout&cart=s4014&dp_89858=__PRICE:666:USD,666: EUR;N&dp_89859=__PRICE:999:USD,999:EUR;N
To do so, they complete the following steps:
- They extract the query part of the string (namely everything after the question mark):
scope=checkout&cart=s4014& dp_89858=__PRICE:666:USD,666:EUR;N&dp_89859=__PRICE:999:USD,999:EUR;N
- They add their Seed for Query Protection to the end of the string:
scope=checkout&cart=s4014& dp_89858=__PRICE:666:USD,666:EUR;N&dp_89859=__PRICE:999:USD,999:EUR;N <protection seed for hashing>
- They calculate the hash using the following formula:
MD5(<URLQueryString><SeedforQueryProtection>)
- They add the MD5 hash to the original URL with the
queryhash
parameter:https://www.cleverbridge.com/847/? scope=checkout&cart=s4014&dp_89858=__PRICE:666:USD,666:EUR;N &dp_89859=__PRICE:999:USD,999:EUR;N& queryhash=aadf15917d308de98594d9d4ec236ece
Note
To find your Seed for Query Protection in Commerce Assistant, go to Account Setup > General > Additional Details. For more information, see Account Setup ✱.
Customer Data
You can add specific customer information to the checkout process using the following parameters.
Contact Information
&<contact type><input field>=<string>
, where:
<contact type>
- enum
Your checkout pages can contain fields for different types of contact information. The default contact type is delivery, which means all checkout pages ask the customer to enter contact information for product delivery. In addition, your checkout pages can contain fields for billing and licensing contact information. Therefore, possible values for <contact type>
are delivery
, billing
, and licensee
.
Example
&**delivery**Company=Fondement%20de%20Legerete
<input field>
- string
The form for entering contact information can contain the following input fields:
Field | Description |
---|---|
SalutationId | Salutation; possible values include: MR_ for Mr., MS_ for Ms., MRS for Mrs., and MIS for Miss. |
Title | Title |
Company | Company name |
CompanyTypeId | Type of company, for example, non-profit, university, or government office. |
Firstname | First name |
Lastname | Last name |
Street1 | Street address |
Street2 | Additional street information |
PostalCode | Postal code |
City | CIty |
StateId | Five- or six-character ID of the customer's country and state based on ISO 3166-2. It is required for Australia, Brazil, Canada, India, Ireland, Japan, the UAE, and the USA. For syntax, see GraphQL StateEnum. |
CountryId | Two-character ID of the customer's country based on ISO 3166-1 alpha-2. Submit with capital letters, for example, US . |
Phone1 | Phone number |
Phone2 | Additional phone number |
Fax | Fax number |
Email address | |
EmailRetype | Confirmation of email address |
VatId | European VAT ID |
Url | URL |
Example
&delivery**Company**=Fondement%20de%20Legerete
<string>
- string
The specification for URLs limits the types of characters allowed. If you submit customer data as parameters in the URL, be aware that most special characters must be submitted in a URL-encoded form. Further information about URL encoding and a content-encoding tool are available at https://www.ietf.org/rfc/rfc1738.txt.
Example
&deliveryCompany=**Fondement%20de%20Legerete**
See the example of a checkout page that uses some specific customer data:
Example
Open the following link in a browser for a checkout page that uses the customer data below:
Order Form Prefilled with Customer Data
&deliveryCompany=Fondement%20de%20Legerete &deliverySalutationId=MR_ &deliveryFirstname=Jerome &deliveryLastname=LeBlanc &deliveryStreet1=8%20NE%20rue%20Chambiges &deliveryCity=Paris &deliveryPostalcode=75008 &deliveryCountryId=FR &deliveryPhone1=01-11%2011%2011%2011 &deliveryFax=01-22%2022%2022%2022 &[email protected] &[email protected]
Internal Customer ID
The internal customer parameter allows you to pass your own IDs through the checkout process.
&internalcustomer=<string>
- string
Unique ID for a customer in your database.
Example
&internalcustomer=7489257489
X-Parameters (Additional Information)
You can use self-defined additional parameters, called x-parameters, to mark the origin of orders or to submit your own transaction IDs to cleverbridge, see Set Up X-Parameters. The additional parameter is saved in our checkout process. You will be able to view any order that has additional information in the Cleverbridge platform reports and notifications. The special x-parameter x-at
submits a tracking parameter that will also be visible for your affiliates in the Cleverbridge Affiliate Center.
X-Parameter
The internal customer parameter allows you to pass your own IDs through the checkout process.
&x-<name>=<value>
, where:
<name>
- string
Select a name for the additional parameter. Alphanumeric characters and hyphens are allowed. This value is case sensitive.
Note
All additional parameters must begin with
x-
.
<value>
- string
Actual value of the additional parameter you want to pass to the Cleverbridge system.
See below an example of an X-parameter:
Example
&x-tracking=ABC&x-userid=12345
X-Parameter (Item-Based)
This x-parameter will appear on the item level within the Cleverbridge notifications.
&x-cbcitem<runningno>-<name>=<value>
, where:
<runningno>
- string
Running number that corresponds to the item you are tracking with the x-parameter.
<name>
- string
Select a name for the additional parameter. Alphanumeric characters and hyphens are allowed. This value is case sensitive.
<value>
- string
Actual value of the x-parameter you want to pass to the Cleverbridge system.
See below an example of an item-based x-parameter:
Example
x-cbcitem1-license=as2-89das9-89sa81h
Note
If you use the following notation, the x-parameters will be reported in the lower-level item object of your notifications.
&x-cbcitem<runningno>-<name>=<value>
However, the x-parameters will appear in the notifications as follows:
&x-<name>=<value>
For more information, see PurchaseItem Model.
Note
If you adhere to the following notation, the x-parameters will appear on the item level of your notifications.
&x-cbcitem<runningno>-<name>=<value>
The fact that they appear on the item level could result in data mapping issues if items are removed from a shopping cart (or in case of another change that affects an item running number, such as a deactivation).
To prevent potential data mapping issues, use the following x-parameter notation to track individual items:
&x-item-<productID>-<name>=<value>
In this case, the x-parameters will be reported in the top-level object of your notifications. See Purchase Model.
However, if you use this notation, you yourself will have to do the mapping between the purchase item, the product ID, and the x-parameter.
Fallback URL
A fallback URL is a URL your customers are redirected to if they try to use an expired SURL, open an inactive MVT, or delete all products in their cart. The expired URL is recorded in the following parameter:
&prevUrl=<url>
- string
A URL that a customer tried to call and that was either an expired SURL, an inactive MVT, or an empty cart. This URL is always URL-encoded.
Example
&prevUrl=https%3a%2f%2fwww.cleverbridge.com%2f864%2f%3fscope%3dcheckout%26cart%3d214aaa
Tip
- You can set up the fallback URL under Setup > Account Setup in Commerce Assistant.
- If the fallback URL is used, it is recorded in the Entry URL field of the Purchase Viewer.
Updated 7 days ago