Third-Party Integrations
It is possible to integrate the Cleverbridge platform with a variety of third-party applications. The following describes how to integrate with the most relevant applications in different fields.
Sales
Integrating a customer relationship management (CRM) platform enables you to seamlessly import and synchronize your customers' data from/with the Cleverbridge platform. The integration also allows you to automate your sales workflow and provide specific targeted reporting. You can integrate with the following CRM platform:
Salesforce
Important
Salesforce Integration via the Commerce Assistant is no longer maintained. To integrate Salesforce with our subscription commerce platform, use our Two-Way Salesforce Integration.
Cleverbridge offers integration support for Salesforce, the leading customer relationship management (CRM) platform for sales, service, and marketing.

Our Integration Services allow B2B companies to automate their sales so that their sales reps become more efficient and can focus on higher-value selling. They sync customer data in real time bi-directionally between Salesforce and our subscription commerce platform.
Example
Here are a few examples of what you can achieve with the integration:
- Create and update lead, contact, account, order, quote, and opportunity data in Salesforce based on transactions processed in our subscription commerce platform
- Populate and process carts directly from Salesforce transaction objects such as Opportunities, Quotes, and Orders
- Integrate with Salesforce CPQ for a seamless online buying experience for your customers
- Create and manage subscribers and subscriber lists in Salesforce Marketing Cloud based on changes made in our subscription commerce platform
The integration consists of two easy steps:
- Cleverbridge sets up Integration Services for you, which includes connecting your Salesforce account with your Cleverbridge account and choosing a usage scenario.
- You get access to TIBCO Scribe® Online, where you can map Salesforce entities/fields to Cleverbridge entities/fields and vice versa. For this part of the integration, documentation is available at Cleverbridge Connector for TIBCO Scribe® Online.
For more information on our subscription commerce platform and its Salesforce integration, contact Client Experience.

The Cleverbridge platform is designed to work with customer relationship management (CRM) provider Salesforce.com. the Cleverbridge platform can be linked to Salesforce using an API so that incoming purchases and partner registrations are automatically pushed to the Salesforce database.
Note
This integration works only with Salesforce Enterprise edition.
Note
To use this integration you must have the Cleverbridge ecommerce CRM connector installed in Salesforce, which links up the two systems. For more information about this API, contact Client Experience.
This integration follows the standard Salesforce look and feel and renders as a custom-related list in the account record. The integration of the Cleverbridge platform with Salesforce accomplishes the following:

Purchases and their updates are automatically pushed to Salesforce.
Incoming purchases will either automatically create a new account or contact in Salesforce, or they will be assigned to an existing account or contact. For this purpose, Cleverbridge applies smart matching algorithms.
Every transaction record has a status. The statuses used in the Cleverbridge system and linked to Salesforce are:
- Awaiting offline payment
Offline payment stands for a group of payment options. With the order confirmation, the customer receives a link with information on how to make the payment. Ordered products are delivered as soon as Cleverbridge receives a payment confirmation from the payment provider.
- Paid
- Refunded
- Partially refunded
- Canceled
- Chargeback
- Quote
- Successful test order
- Test order refunded
- Test order partially refunded
The status is updated automatically through purchase events and these updates are pushed to Salesforce.
Price quotes created with the Cleverbridge platform are automatically pushed to Salesforce and will be converted to a paid transaction if the customer accepts the quote.

New and updated partners are automatically pushed to Salesforce.
If a partner signs up using the Cleverbridge signup process, the information about the partner is automatically pushed to Salesforce. In this case, the Cleverbridge system tries to link the partner to an existing account in Salesforce. A new record is created only if it cannot be matched with an existing one.

Cleverbridge offers a system for automatic opportunity management. For every transaction, one opportunity is automatically created and connected to the account.
A second opportunity is created for a product that meets a set of criteria defined in the Cleverbridge system. Example: When a customer purchases a one-year license, the system automatically creates an opportunity for the respective sales person 11 months after the initial purchase. It is the salesperson’s task to convert this opportunity by convincing the customer to renew the license before the existing one expires.
To integrate with Salesforce via the Commerce Assistant:

Important
Salesforce Integration via the Commerce Assistant is no longer maintained. To integrate Salesforce with our subscription commerce platform, use our Two-Way Salesforce Integration.
Salesforce Integration Setup is used to configure, view, and edit data for the integration of Salesforce with the Commerce Assistant. To configure the Salesforce Integration Setup, complete the following instructions:
In the main menu, select Setup > Salesforce Integration Setup. Salesforce Integration Setup opens.
Enter information in the following section:

The Connection section is used to activate the integration and configure the connection between the Cleverbridge platform and Salesforce.
Set up the connection using the fields described below:
Field | Description |
---|---|
Active |
Select the checkbox to turn on Salesforce integration. It controls when the integration is actively pushing data. After the configuration, you can stop or resume pushing data at any time with this option. |
Username | Enter the Salesforce user's name. This user must have administrative rights in Salesforce. |
Password | Enter the Salesforce user's password. |
Security token | Enter the user's security token. This is an additional password for accessing the Salesforce API. The token is stored in the user's profile information in Salesforce. |
Test connection | Click to verify if the user's credentials are accurately entered. If not, an error message will display and you can try again. |
Use sandbox mode | Select to use a secure, replicated testing environment without compromising your production environment. |

The Synchronization Data section is used to control which types of data are pushed to Salesforce. There are four different options for synchronizing purchases, as well as an option to enable opportunity management and partner synchronization.
- Select one of the following rules for purchase synchronization:
- Synchronize all purchases
- Synchronize purchases that match one of the following conditions:
- At least one purchased product is from product list
- Purchase is from a partner
- Purchase is from a company
- Do not synchronize purchases
- Synchronize only test purchases
- Select to enable opportunity management. When you select this option, an opportunity is created for purchases of products with license expiration dates. This type of opportunity prompts you to remind a customer to renew their license.
- Select to synchronize accepted partners. When you select this option, all newly accepted partners are pushed to Salesforce.
- Click Save.

The Options section is used to configure optional currency and pricing information.
- Select to use a currency type other than the original customer currency type. You can view a different currency type than what the customer sees using this option. Use the drop-down list for currency selections.
- Select to include the Cleverbridge fee in the client price.
- Click Save.

The Field Mapping section is used to define the mapping between Salesforce fields and Cleverbridge fields. The Commerce Assistant offers field mapping tools for six different functional areas. Select from the following sections to set up the field mapping individually for those sections.
- Account
- Contact
- Licensee-expiry opportunity
- Transaction
- Transaction items
- Transaction opportunity
For more information, see One-Way Integration via the Commerce Assistant (Deprecated).
Once you have entered all necessary information, click Save.

To set up field mapping in Salesforce integration setup, complete the following:
- Click Fetch Object Definitions to populate the fields the first time you connect Salesforce with the Commerce Assistant. This is accomplished by a Cleverbridge API. The fields for data mapping are arranged into two columns:
Salesforce Field — This column populates with data from Salesforce when you click Fetch Object Definitions. Data are organized into the directory structure used in Salesforce. Highlight these fields to link them to Cleverbridge fields.
Cleverbridge Field — You fill this column when you select parameters from the Cleverbridge field drop-down list on the right side of the workspace. For more information, see the Field Mapping Details section below.
Note
The initial synchronization will take up to 30 seconds. Updates to purchase transactions will take up to 120 seconds.
- Map the fields and their settings.

Enter values for Salesforce fields using the Default value field. You can do this to enter values for Salesforce fields that have no corresponding Cleverbridge fields.
Note
To enable editing, make sure the Active field is checked in the Connection section.
- Click to highlight a Salesforce field.
- Select Default value and enter a value in the field. The value you enter populates in the Cleverbridge field column.
- For fields that have a date format, such as License Expiry, use the Day offset and Month offset drop-down lists to add or subtract days or months from the date.

Link Salesforce and Cleverbridge fields using the following steps:
- Click to highlight a parameter in the Salesforce Field column. In this example, AccountNumber is highlighted in the Salesforce Field column.
- Select the corresponding Cleverbridge field value from the drop-down list. In this example, CustomerID is selected.
This merges Cleverbridge fields with Salesforce fields.
- Repeat this process as many times as necessary.

Specify identifying values for fields. Some Salesforce fields have additional field mapping details you can assign values to. For example, the Salesforce field Probability can be set up with Cleverbridge value Quote=75, meaning quotes have a 75% probability for the opportunity.
- Click to highlight the Salesforce Field for the value assignment.
- Select the Cleverbridge Field from the drop-down list. The values in this field are used for determining the Salesforce Field values.
- Click to highlight a Cleverbridge Field Value from the list. In the example below, Quote is selected. Enter a value to assign to this field. In the example below, 75 has been entered. This means opportunities with the status Quote have a 75% probability of conversion.

There are two main areas in Salesforce that are linked to the Cleverbridge platform:

The Cleverbridge Transactions tab displays a list of recently pushed purchases. Click a transaction to view details.
The transaction detail window displays information about that transaction. You can edit, delete, or clone the transaction from this window.
The individual purchase items display at the bottom of the purchase transaction detail window.
For more information about transactions in the subscription commerce platform, see Get Transparency about Transactions.
TIBCO Scribe
You can use our TIBCO scribe connector to integrate data into lead, contact, account, and opportunity data in CRM systems or create subscribers and manage subscriber lists in marketing systems.
For more information, see the Cleverbridge Connector For TIBCO Scribe® Online.
Marketing
Integrating a partner management platform enables you to analyze and monitor your digital campaigns in a cost and time effective manner. The integration also helps you to plan effective marketing strategies, which allows you to improve your conversion rate and grow your client base. You can integrate with the following partner management platform:
Partnerize
To integrate with Partnerize, with whom we partnered to provide our Performance Marketing Platform, you must set up the following:

Whenever a publisher has been accepted into your Partnerize campaign to promote your product(s), the publisher receives links to your web page(s) in the Partnerize console. An x-parameter The x-parameter is a variable appended to a URL that allows grouping and tracking orders for later reporting purposes. It also enables you to pass through data that you want to capture in the order process. X-parameters can also be used to control design elements based on the value of the x-parameter. (
&x-clickref
) is appended to each of these links, and the unique value of this x-parameter is tied to the corresponding publisher (&x-clickref=[unique value]
).
To integrate with the Partnerize platform, you need to generate a first-party (.yourdomain.com) cookie that will record the unique value contained in the Partnerize x-parameter. Whenever customers land on your web pages from Partnerize publisher links, you should drop this cookie onto their web browsers. If a customer reaches a Cleverbridge-hosted checkout process and decides to make a purchase, we will attribute the sale to the value
saved in the cookie. Then we will make a call to the Partnerize API with the applicable purchase details, including the clickref
value.
Note
This is how Partnerize learns that a publisher drove traffic to your site that resulted in a sale. Partnerize bases their commission calculations on this information.
The cookie that you set up to collect this information should have the following characteristics:
- It only saves the value of the
x-clickref
. - It must be named something standard and unique to your company, such as
partnerize_clickref_[yourname]
. - It should be set up to expire. We recommend setting it up to expire 90 days after the time of the first click.
Important
If you use multiple ecommerce providers, make sure that all incoming traffic with &x-clickref=[value]
ends up in the Cleverbridge-hosted checkout process.

To enable Cleverbridge to correctly credit the Partnerize publishers who distribute your promotional coupon codes through mailings, print media, web forums, etc., you have to set up x-parameters in the Commerce Assistant that contain the publishers' ID information. Whenever promotional purchases are completed, Cleverbridge uses these x-parameters to trigger API calls, which in turn pass the relevant publisher ID(s) on to the Partnerize platform.
To set up your Partnerize x-parameters, complete the following steps:
- Select Marketing > Promotions in the main menu of the Commerce Assistant.
- Search for and open the promotion your Partnerize publishers are distributing your coupon codes for.
- Select the General tab in the Promotion portal and enter one x-parameter in the X-parameters field. The x-parameter key-value pair must have the following format:
x-publisher-id=<partnerize publisher ID>
Example
x-publisher-id=130l392
Note
An active integration with a Partnerize campaign is required to use this field.
Note
To find the Partnerize Publisher ID for a publisher in your Partnerize account, complete the following steps:
a. Click the Partners tab in the main menu of Partnerize.
b. Select Status > Approved as a filter in the left column.
c. Select Download CSV in the Actions drop-down list. A CSV file is downloaded.
d. Open the CSV file and find the publisher(s) you would like to credit. In column E, you can find their Partnerize Publisher ID.
- Click Save.
For more information about the Partnerize on-boarding process, see Getting Started with Partnerize.
Tracking
Tracking tools can help you track user activity and develop a better design for your website. You can also use tracking tools to test your website design and identify trending products. You can integrate your website with any tracking tool using the following tag management platform:
Google Tag Manager
You can use Google Tag Manager (GTM) to manage third-party tracking tools and custom data integrations on your own. As a result, this tool gives you the freedom to trigger your tracking codes directly on the Cleverbridge checkout pages; no need to set up trackings in the Cleverbridge Commerce Assistant.
To integrate the Google Tag Manager with your Cleverbridge checkout pages, do the following:

For more information, go to https://tagmanager.google.com/.

To do so, contact the Client Experience team.

In the following sections, you can learn about the Cleverbridge dataLayer
, as well as the enhanced ecommerce events that you can consume in your GTM tags:

The Cleverbridge dataLayer
is added to every page of your checkout process when GTM is enabled. This dataLayer
contains information about the cart, session, user, and transaction, all of which you can dynamically insert in your GTM tags. The dataLayer
is activated upon every page load, but it can also contain additional information related to certain events. For more information, see Events and the Cleverbridge data Layer.

The following information is available upon every page load of your checkout process if GTM is enabled for your account. The values are inserted dynamically, based on the current user session.
dataLayer = [{
'transactionId': '51142586', // the purchase reference ID
'transactionAffiliation': 'cleverbridge', // source of the purchase
'transactionTotal': 53.95, // the total of the transaction revenue
'transactionTax': 8.61, // the VAT of the transaction
'transactionShipping': 0, // the shipping cost of the transaction
'transactionCurrency': 'EUR', // the transaction currency ID
'transactionProducts': [{
'id' : '2417', // the Cleverbridge product ID
'sku' : 'my internal sku', // your internal SKU
'category' : 'Software', // the product category
'name' : 'Anti-Malware+%5b2+Years%5d', // the product name
'price' : '53.95', // the product price, gross or net
'quantity' : '1' // the product item quantity
}],
'customerCurrency': 'EUR', // the transaction currency ID
'languageCountry': 'en-DE', // the customer’s locale
'coupons' : 'OFF50', // coupon code (optional)
'cleverbridgePage' : 'confirmation.successInstantDelivery', // page name and detail
'paymentStatus': 'paid ', // the status of the purchase (*)
'random' : 'rmgP9A3fUMNxANgeuHi8', // a unique hash per session
'configParameterName' : 'default', // the value of cfg= parameter
'paymentType' : 'CCA_VIS ', // the payment type (*)
'x-parameter' : [{ // an array of custom x-parameters
'x-parameter' : 'customValue'
}]
}];
* paymentStatus
— Possible values are paid
, waiting for payment
, quote
, or test purchase
.
* paymentType
— For possible values, see Payment Result.
Note
Some fields may have empty values if dynamic values are not available on the current page. For example, a value for transactionId
would not be available on the checkout page or review page The review page contains summary information about the purchase a customer is about to make. before the purchase is completed.

To access the dataLayer
values in your GTM tags, you must create a new user-defined variable in your GTM account for each field you want to track. For more information, see User-defined variables.
Important
When creating a new variable, be sure to select type Data Layer Variable in the Variable Configuration area.

In certain situations, events containing additional data are added to the dataLayer
. You can use these event occurrences as GTM tag triggers. Currently, the following events are available for GTM integration:

This event is triggered when the customer enters the checkout process for the first time.
dataLayer.push({
'event': 'cartOpen',
'ecommerce': {
'currencyCode': 'EUR',
'add': {
'actionField': {
'affiliation': 'cleverbridge',
'step': 1
}
'products': [ {
'id': '2417',
'name': 'Anti-Malware+%5b2+Years%5d',
'price': '53.95',
'brand': 'brandValue',
'category': 'categoryValue',
'variant': 'variantValue',
'quantity': 1,
'list': 'listName'
}],
'impressions': [ {
'id': "71028",
'name': "Recommended Professional",
'price': "12.95",
'category': "Consumer Support",
'variant': "variantValue",
'position': 1,
'list': "listName"
}]
}
}
});

This event is triggered when the customer continues in the checkout process.
dataLayer.push({
'event': 'checkout',
'ecommerce': {
'currencyCode': 'EUR',
'checkout': {
'actionField': {
'step': 1
},
'products': [ {
'id': '2417',
'name': 'Anti-Malware+%5b2+Years%5d',
'price': '53.95',
'brand': 'brandValue',
'category': 'categoryValue',
'variant': 'variantValue',
'quantity': 1,
'list': 'listName'
}],
'impressions': [ {
'id': "71028",
'name': "Recommended Professional",
'price': "12.95",
'category': "Consumer Support",
'variant': "variantValue",
'position': 1,
'list': "listName"
}]
}
}
});
Note
The field step
indicates the step of the checkout process where the customer is currently active. Depending on your design and region, your checkout process may contain multiple steps (cart page, billing details, review page, etc.).

This event is triggered when a customer removes a product from the cart. The event occurs as soon as the customer clicks the Remove button and before the page reloads.
dataLayer.push({
'event': 'removeFromCart',
'ecommerce': {
'currencyCode': 'EUR',
'remove': {
'actionField': {
'list': 'listName',
},
'products': [ {
'id': '2417',
'name': 'Anti-Malware+%5b2+Years%5d',
'price': '53.95',
'brand': 'brandValue',
'category': 'categoryValue',
'variant': 'variantValue',
'quantity': 1,
'list': 'listName'
}]
}
});

This event is triggered when a customer adds a recommended product to the cart. This occurs as soon as the customer clicks the Add button and before the page reloads.
dataLayer.push({
'event': 'addToCart',
'ecommerce': {
'currencyCode': 'EUR',
'add': {
'actionField': {
'list': 'listName',
},
'products': [ {
'id': '2417',
'name': 'Anti-Malware+%5b2+Years%5d',
'price': '53.95',
'brand': 'brandValue',
'category': 'categoryValue',
'variant': 'variantValue',
'quantity': 1,
'list': 'listName'
}]
}
}
});

This event is triggered when the customer clicks the Buy Now button. It occurs as soon as the customer clicks the button and before the page reloads.
dataLayer.push({
'event': 'submitOrder',
'paymentMethod' : 'CCA_VIS'
});
Note
The fact that this event is triggered does not automatically mean that the customer order has been accepted. It is possible that the customer must first correct some validation errors before submitting again.

This event is triggered when an order is submitted successfully, with or without payment, and the customer reaches the confirmation page The confirmation page is displayed after a customer makes a purchase. The confirmation page contains the order confirmation and delivery information..
dataLayer.push({
'event' : 'purchase',
'ecommerce': {
'currencyCode': 'EUR',
'purchase': {
'actionField': {
'id': '171513018',
'affiliation': 'cleverbridge',
'revenue': '53.95',
'tax':'8.61',
'shipping': '0',
'coupon': ''
},
'products': [{
'id': '2417',
'name': 'Anti-Malware+%5b2+Years%5d',
'price': '53.95',
'brand': 'brandValue',
'category': 'categoryValue',
'variant': 'variantValue',
'quantity': 1,
'list': 'listName'
}]
}
}
});
Note
To determine if the order was paid or unpaid, you can use the dataLayer
value for the paymentStatus
field, which can contain the following values:
paid
-> the order was successfully paidwaiting for payment
-> the customer chose an offline payment method (e.g. wire transfer) and is expected to wire the money soonquote
-> the customer generated a price quote request that can be turned into a paid order latertest purchase
-> this was a test order using one of the Cleverbridge test credit cards
You can also gain additional insights by analyzing the dataLayer
field cleverbridgePage
. This can contain the following values on the confirmation page:
confirmation.reject
-> the payment was rejectedconfirmation.pending
-> instant processing was not possible and the transaction is scheduled for processing as soon as possibleconfirmation.successOfflinePayment
-> same aspaymentStatus
=waiting for payment
confirmation.successInstantDelivery
-> same aspaymentStatus
=paid
If the first payment attempt failed or was not processed instantly, Cleverbridge offers the customer a chance to choose a different payment option and try again. In this case, the dataLayer
field cleverbridgePage
can contain the following status:
confirmationpp.reject
-> the second payment attempt was rejectedconfirmationpp.pending
-> the transaction is scheduled for processing as soon as possibleconfirmationpp.successInstantDelivery
-> the second payment attempt was successfulconfirmationpp.successOfflinePayment
-> the second payment will be completed offline (e.g. wire transfer)

To only trigger a tag when a certain ecommerce event occurs, create a new GTM trigger with the type Custom Event. Under Event Name, add one of the events listed above. For more information, see Custom event trigger.
If you have specific questions related to the Cleverbridge Google Tag Manager implementation, or if you want to implement a certain use case, contact our Tracking team.