PitchPlus Upsell Flows

PitchPlus Upsell Flows let you offer additional products to a customer after they've purchased one product.

The following subjects are covered in this article:


PitchPlus lets you add to the value of an order by offering additional related or value-add products to a customer once they've purchased an initial product. The consumer only needs to click a single button to immediately buy the additional product and charge the payment method used in their original purchase.

You can display up to three additional offer pages after the initial offer. These pages can each have one or more offers, either from you or from another vendor. After each step, you decide what page is displayed next depending on the customer's choices. When the flow is complete, the confirmation page displays all of the products purchased.

This cross-sell capability, when combined with a Joint Venture contract, allows two vendors to collaborate to gain revenue from advanced ecommerce flows by promoting each other’s products.

NOTE – The ability to offer more than one product on a single Upsell Flow Pitch Page is admin-controlled. Contact ClickBank if you want access to this feature.

How It Works

PitchPlus allows for upsell flows with up to three additional offers, including products owned by another ClickBank account if desired.

Each flow that you create begins with a specific product. Once the customer purchases that product, they are taken to an additional Pitch Page of your choice (upsell 1).

Depending upon how the PitchPlus flow is configured and how the customer responds to the offers on the first Pitch Page, they may then be sent to a second Pitch Page (upsell 2), and finally, sent to a third and final Pitch Page (upsell 3). We refer to this sequence of Pitch Pages as a PitchPlus Upsell Flow.

Within each level of the PitchPlus Upsell Flow, you may decide what action to take if the customer agrees to the offer or if they decline.

Once the customer completes the flow, they are taken to a ClickBank Confirmation Page, which contains links to the individual Thank You pages of the items purchased. You do not need to create a new Thank You Page to represent all possible purchase combinations; ClickBank automatically displays the correct combination of purchased items.

The customer receives a separate confirmation email for each offer that they purchase.

NOTE – If you are creating a PitchPlus flow that includes a product from an account that you do not own, then you will receive no revenue from those transactions unless you are under an Upsell JV contract with that account owner. For more information on Joint Ventures, see the Joint Venture article.

Affiliate Commissions

The Affiliate from the original sale will be credited for each sale in the PitchPlus upsell flow, although you may choose a different commission rate for each product in the flow.

Vendors who include PitchPlus upsell flows within their e-commerce experience are appealing to Affiliates since the Affiliate can receive a commission for each successful upsell purchase. As the vendor, you can set a separate commission rate for each product in the upsell flow or use your default commission rate.

Affiliates can identify vendors who use PitchPlus upsell flows in the Marketplace by either looking for the PitchPlus upsell icon This image is an icon representing a vendor with upsell flows. It is an orange arrow pointing up.or by choosing Advanced Search and selecting the PitchPlus checkbox under the Product Type section. This lets affiliates maximize their investment by focusing on vendors that are making multiple offers to consumers via PitchPlus. Note that if you are utilizing PitchPlus to promote a product from a different account, you will specify the commission paid to the Affiliate against that product while creating the PitchPlus upsell flow.

Don’t be afraid to let affiliates know you’re using PitchPlus in the Marketplace Title/Description, in your Vendor Spotlight, and/or your Affiliate Tools Page. The more obvious it is to affiliates that they can earn more per sale, the more likely they are to promote you.

Selecting Products for an Upsell

To give yourself the best opportunity to make the extra sale, make sure your initial offer and PitchPlus offer complement each other. If a customer initially buys an ebook of diet recipes, it wouldn’t make sense to upsell your customers a video series on how to play the piano or make money online. Your upsell offers should add value to your customer’s initial purchase or expand on a specific aspect of your main product. For example, if you are offering an ebook providing diet recipes, consider upselling a video series demonstrating fat burning exercises.

Allowed Products

Any product type may initiate a PitchPlus upsell flow. The maximum price of each product in the flow is $150.

If a PitchPlus Upsell Flow includes a physical product, the initial order form will ask for shipping information, even if the initial product is not a physical product.

If the initial purchase is made through PayPal, the user cannot make a one-click purchase of an upsell product, and are redirected to the order form for the upsell product.

If you are including one or more recurring billing products in your flow, the customer must check a checkbox indicating that they understand and agree to the terms of the recurring billing agreement. To verify that the customer has done so, you pass the cbrblaccpt parameter with a value of true along with the payment link. The format is: cbrblaccpt=true

Reporting and Analytics

For sales of products via a PitchPlus flow, the analytics and transactions reporting sections provide columns detailing those sales. See the Analytics Reporting and Transactions Reporting articles for more information.

The Instant Notification service also provides data on upsell transactions. See the Instant Notification Service article for more information.

Example PitchPlus Upsell Flows

Here are several examples of PitchPlus flows that illustrate the consumer experience:

PitchPlus With Single Upsell

For vendors who would like a single upsell, the flow is simple:

Initial Offer -> ClickBank Order Form -> PitchPlus Offer -> Confirmation Page

The confirmation page will contain links to the Thank You Page for one or both products, depending on the consumer’s acceptance of the upsell.

PitchPlus Advanced Flows

You can present customers with up to three offers, allowing for more advanced flows.

For example, if the customer declines your initial offer, you could offer them a less expensive version of the product with fewer features, or if they purchase the first upsell product, you could offer them an additional product with related features or benefits.

In this flow, the consumer is presented three offers, each contingent on the acceptance of the previous offer.  At any point, if the consumer declines, the flow ends and they are taken to the confirmation page. 

This flowchart shows a sample PitchPlus Upsell flow. It begins with the Vendor Pitch Page for the initial product. The customer is then taken to the ClickBank Order Form. If they purchase the product, they are taken to the first Upsell Product's pitch page. If they accept that product, they are taken to the second Upsell Product's pitch page. IF they accept that product, they are taken to the third Upsell Product's pitch page. If they accept the third Upsell Product, or if they decline the first, second or third upsell products, they are taken to the ClickBank Order Confirmation Page. This page contains links to the Thank You pages for each product.


In this flow, the consumer is presented alternative offers after the initial upsell.  A decline can be used to present a downsale or another product in lieu of the one declined: 

This flowchart shows a sample PitchPlus Upsell flow. It begins with the Vendor Pitch Page for the initial product. The customer is then taken to the ClickBank Order Form. If they purchase the product, they are taken to the first Upsell Product's pitch page. If they accept the first Upsell product, they are taken to the second Upsell Product's Pitch Page. If they decline the first Upsell Product, they are taken to the third Upsell Product's Pitch Page. If they accept or decline the second or third product, they are taken to the ClickBank Order Confirmation Page. This page contains links to the Thank You pages for each product.

Lastly, this example flow shows a series of downsells rather than multiple additional value added products after the initial sale is successful: 

This flowchart shows a sample PitchPlus Upsell flow. It begins with the Vendor Pitch Page for the initial product. The customer is then taken to the ClickBank Order Form. If they purchase the product, they are taken to the first Upsell Product's pitch page. If they decline the first Upsell Product, they are taken to the second Upsell Product's Pitch Page. If they decline the second Upsell Product, they are taken to the third Upsell Product's Pitch Page. If they decline the third Upsell Product, or if they accept the first or second Upsell Products, they are taken to the ClickBank Order Confirmation Page. This page contains links to the Thank You pages for each product.

Creating a PitchPlus Upsell Flow

The following steps will present a guide to creating the PitchPlus flow:

  1. Creating Pitch Pages
  2. Creating Payment Links
  3. Configuring the PitchPlus Upsell Flow
  4. Attaching the PitchPlus Upsell Flow to a Product
  5. Encrypting Upsell Flow Parameters

Creating Pitch Pages

As part of the PitchPlus flow, you offer additional products to a customer who has already made a purchase. On each of these PitchPlus Upsell Pitch Pages, customers must be given the opportunity to accept or decline the additional offers. Since these pages do not operate like a typical Pitch Page, they must adhere to certain guidelines and be approved by ClickBank before the flow becomes active. Each upsell Pitch Page must follow these guidelines:

  • Must have a prominent option to decline the offer near every accept link or button.
  • Must prominently display the price associated with accepting the offer.
  • The accept link or button must indicate the customer is making a purchase:
    • Acceptable phrases include: “Buy Now,” “Add to My Order,” or “Add to My Purchase.”
    • Vague or misleading phrases are unacceptable, such as: “Click Here to Continue,” “Learn More,” or simply “Yes.”
    • “Add to Cart” is also not acceptable since many e-commerce business send customers to a shopping cart which lets them view the full purchase before finalizing the purchase. Since clicking the button makes the purchase, "Add to Cart" is not acceptable.
  • Each pitch page can offer a maximum of 12 products.
    NOTE – We do not recommend creating a pitch page that lets the customer purchase more than five products in a single step, regardless of the number of available products.
  • Each page can offer your products, or the products of another vendor, but not both.
  • Each page can only offer the product or products that are approved for that step.
  • Each page can offer multiple products only if ClickBank has enabled this option for your account. Contact ClickBank if you want access to this capability.

In addition, you must agree not to change the price of the upsell offers or the accept/decline wording, buttons, or images after the upsell flow has been approved.

PitchPlus Upsell Flows that Include Recurring Billing Products

If you wish to offer recurring billing products in your PitchPlus Upsell flow, you must add some additional text and code to your PitchPlus upsell Pitch Page that asks the customer to verify that they understand they are purchasing a subscription/recurring product. This code must include a check box the customer ticks to indicate they understand the terms of the recurring billing agreement. You must then pass the cbrblaccpt parameter to ClickBank, which indicates that the customer has accepted the terms.

Example Code

The following is an example of some simple code you could put on your PitchPlus Upsell Pitch Page to allow for Recurring Billing products to be sold in your PitchPlus Upsell flow.

<script type="text/javascript">
function toggleAccept() {
var acceptLink = document.getElementById("accept");
var agreeCheckbox = document.getElementById("agreeCheckbox");
if (agreeCheckbox.checked) {
acceptLink.onclick=function() {
window.location=this.href + "&cbrblaccpt=true";
return false;
} else {
acceptLink.onclick=function() {
return false;
function mustAccept() {
window.alert("By clicking accept, you agree to the payment terms of this recurring product.");



Creating Payment Links

Now that you’ve created your PitchPlus Upsell Pitch Pages, it’s time to add accept and decline payment links to them.

A payment link on a PitchPlus Upsell page uses a special format, with additional parameters to indicate whether the customer made a purchase and, if so, the items and quantities purchased. Unlike a standard payment link, the first section of the payment link does not include a product ID.

The ability to offer more than one product SKU in a single step is admin-controlled. Contact ClickBank if you want access to this feature.

NOTE – PitchPlus Upsell Flows created before March 2017 used a different payment link format. The older format can still be used, but it cannot accommodate PitchPlus Upsell Flow steps that contain more than one product SKU. See the Legacy Format section for more information.

One-Product Payment Link

The following format makes a purchase with one product:


Multi-Product Payment Link

To purchase more than one product, you add additional sku.quantity pairs separated by underscores:


Payment Link Parameters

The following parameters are used in a PitchPlus Upsell Flow payment link:

  • The cbur parameter indicates that the customer has purchased one or more of the offered products.
  • The cbitems parameter indicates the items purchased and their quantities using one or more SKU-quantity pairs. If you pass the SKU of an item that is not approved for the current step, or the SKU of an item that the customer has already purchased, it is ignored.
  • The cbf parameter is an optional parameter that you can use to enable PitchPlus Upsell Flows for customers with disabled browser cookies. It is described in more detail below.

Decline Payment Link

If the customer decides not to purchase any products, they use the decline button, which uses the following payment link format:


The SKU can be any SKU that is approved for the current step. This SKU is used solely for verification of the step and is not purchased.

The CBF Session Identification Parameter

The cbf session identification parameter lets you offer PitchPlus Upsells to customers with disabled browser cookies (approximately 10% of customers). You are not required to use the cbf session identification parameter; however, if it is not used, customers with disabled cookies will be redirected to the standard order confirmation page, rather than your first PitchPlus Upsell Pitch Page.

When the customer makes a purchase, ClickBank will pass the cbf parameter to your first PitchPlus Upsell Pitch Page. You must then capture the parameter and pass it back to ClickBank in the payment link. This may be accomplished using a dynamic programming language such as Perl, PHP, JSP, ASP .Net or others.

If you are not experienced with dynamic programming, we recommend hiring an experienced developer for assistance.

An example of how to retrieve the parameter using PHP is:


Here is an example of a payment link with the cbf parameter:

http://vendornickname.pay.clickbank.net/?cbur=a&cbitems=1&cbf=<value passed>

Vendor Tracking IDs

You can pass customizable Vendor Tracking IDs (TIDs) at the end of your paylinks. These TIDs can be tracked using ClickBank Analytics, which lets you split test or compare different sales pages.

To use a Vendor Tracking ID, you can add the variable vtid=example to the end of your paylink. The TID can be up to 24 alphanumeric characters.

Legacy Format

If you created a PitchPlus Upsell Flow prior to March 2017, the payment links in the flow used an older format. This format is still valid, but it cannot accommodate steps with more than one product.

The legacy format for an accept payment link is:

http://<product ID>.<vendor nickname>.pay.clickbank.net/?cbur=a

The legacy format for a decline link is:

http://<product ID>.<vendor nickname>.pay.clickbank.net/?cbur=d

The legacy format can also use the cbf parameter described above. This parameter is used in the same way in the legacy format as it is in the standard format.

Configuring the PitchPlus Upsell Flow

Now that you have created your Upsell Pitch Pages, you can configure your PitchPlus Upsell Flow.

  1. Log in to your ClickBank account.
  2. Click the Settings tab.
  3. Click My Products.
  4. In the Add New section, click Upsell Flow.
    The upsell flow page is displayed.
  5. Enter a name for the upsell flow, then click Save.
    A graphical representation of the upsell flow is displayed. For example:
    This image shows the window for creating a new PitchPlus Upsell Flow. The top of the image shows the name and ID number for the PitchPlus Upsell Flow, and a checkbox indicating whether the vendor will be passing the cbf parameter. The bottom section shows a graphical representation of the flow. It begins with the starting offer, which is offered automatically after the initial product is purchased. A second round of offers can be made based on whether the customer accepted or declined the first offer, and a third round of offers can be made based on whether the customer accepted or declined either of the second round offers.
    The starting offer is made automatically after the initial product is purchased. Offers 2 and 3 are contingent on the customer's choices on prior offers. When a customer reaches a step without a configured offer, or once they reach the end of the flow, they are taken to the summary page. At each step, you can either end the flow or offer a new pitch page.
  6. Configure each offer by clicking Add Offer, then entering the offer information. To configure an offer, enter the following information:
    • Pitch URL – The standard Pitch Page URL. You must provide at least one pitch URL.
    • Mobile Pitch URL – The mobile Pitch Page URL. You must provide at least one pitch URL.
    • Commission % – The commission percentage that the affiliate receives for the products in this step. You can configure different commissions for each stage. If you don't specify a commission percentage, the default commission percentage for your account is used.
    • Add Product – You can add up to five products to the step. These products must be approved, and every product must belong to the same vendor – you can include your products, or another vendor's products, but not both. You can configure payment links on the pitch page so that the customer can purchase any of these products in any quantity.
      NOTE – The ability to offer multiple products in a single step is admin-controlled. Contact ClickBank if you want access to this feature.
    When you are done entering step information, click OK.
  7. When you have completed the PitchPlus Upsell Flow, click Close.
  8. Click Request Approval in the status column.
    The PitchPlus Upsell Flow is submitted for approval. You will receive a response to your request within 3 to 5 business days.

Attaching the PitchPlus Upsell Flow to a Product

Upon approval, you’ll see an upsell flow number listed next to the flow name. To attach the upsell flow to one of your products, you’ll need to add the cbfid (ClickBank Flow ID) parameter to the payment link of the existing product you wish to use to initiate the upsell flow.

To accomplish this, add the upsell flow ID number as a cbfid URL parameter to the payment link on your PitchPlus Pitch Page. The format for this parameter is:


For example, the following payment link would result in flow ID 4 being initiated after the initial purchase of product 1 is completed:


If you have multiple PitchPlus upsell flows, you can switch this number at any time to initiate a different upsell flow. At this point, your flow should be live, and you should place a test purchase to verify that it's working correctly.

Customized Order Form Skin Users

If you are using the customized order form skin, you must pass the skin parameter before you pass the flow ID parameter on the pay link.

For example:


ClickBank Order Confirmation Page

The following image represents the ClickBank Order Confirmation Page a consumer will receive when they accept multiple offers during a PitchPlus upsell flow:

This image is a screenshot showing the confirmation page that is displayed after a user has purchased multiple items through a PitchPlus Upsell Flow. For each product, the screen shows the order number, the order email address, the product title and type, the price, and a button labeled Download or Access Digital Product.

Encrypting Upsell Flow Parameters

The parameters included in your Upsell Flow Page and Thank You Page URLs can include personally identifiable information (PII). You can enable encryption for these parameters to provide additional security.

Encryption Algorithm

ClickBank uses the CBC-AES-256 encryption algorithm to secure the parameters. This helps prevent customer information from being passed in clear text The parameters are encrypted using a secret key, of up to 16 characters, and an initialization vector. The encrypted text is then encoded using the java.net URL encoder.

If you enable encryption, you must decode and unencrypt the parameters using the initialization vector and your secret key before you can process them.

See the Instant Notification Service article's Code Samples section for example methods for unencrypting parameters.

Encrypted Parameter Format

The base format for a URL with encrypted parameters is:

http://<Pitch Page or Thank You Page URL>/?<other variables>&iv=ENCODED_IV_VALUE&params=ENCODED_AND_ENCRYPTED_PARAMETERS

Enabling Encryption

  1. Log in to your ClickBank account.
  2. Click the Settings tab.
  3. Click My Site.
  4. Locate the Advanced Tools Editor section and click Edit.
  5. Click the Encrypt Transaction URLs checkbox.
  6. Enter a secret key if you do not have one. Your secret key can be up to 16 characters long, including digits and capital letters.
  7. Click Save Changes.
    Your Upsell Flow Page and Thank You Page URLs are now encrypted.

Java Decryption Code Sample

The following code sample uses Java to decode and decrypt the Upsell Flow parameters.

NOTE – This code sample is included as an example. It may require modification to work with your environment.

package com.package.name;

import java.net.URLDecoder;
import java.security.MessageDigest;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex;
import org.json.JSONObject;
import org.json.JSONTokener;
import org.junit.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;

public class Decrypt {

public static String decryptAESWith256BitKey(final String encryptedString, final String secretKey, final String iv) throws Exception {
try {
final MessageDigest digest = MessageDigest.getInstance("SHA-1");
final String key = new String(Hex.encodeHex(digest.digest())).substring(0, 32);

final IvParameterSpec ivParameterSpec = new IvParameterSpec(Base64.decodeBase64(iv));
final SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "AES");
final Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, keySpec, ivParameterSpec);

return new String(cipher.doFinal(Base64.decodeBase64(encryptedString)));
} catch(final Exception ex) {
throw new Exception("Unable to decrypt string: " + ex.getMessage(), ex);

public void testUrlDecryption() {

final String encryptedUrl = "http://www.example.com/download.html"
+ "?iv=OTc4NDcxMDdBMDc2NjY4OQ%3D%3D"
+ "&params=53OG25PsV%2FYXr16cluQx6CSZ9mEovQm9plTbd0RztlBQM8czOyrT%2BTV0iWJmhz0fYc6YgKhOlEmWKUYHg"
+ "QvLgxgCKeN4MGNyJnbj%2FqiCfR6Ddyv38ecrz%2Fd1OlJqgABN9x1aGSe23%2Br4NIvh26HRtCewy1ELq%2BmL%2FaXp"
+ "YySCuJpRUL5ynS3msYl5nI7i4PGHv27zb8F38hwy%2F05Ly1XeEyVN%2BprpO2yXz8PnLoLGkCYot%2FcFqd622%2BO13ATo5fK7";

try {
// Expected URL format: [/URL/...]iv=SOME_IV_VALUE&params=ENCRYPTED_PARAMS
final String[] vals = encryptedUrl.split("[&=]");
final String encryptedString = URLDecoder.decode(vals[vals.length-1], "UTF8");
final String iv = URLDecoder.decode(vals[vals.length-3], "UTF8");

final String decryptedString = decryptAESWith256BitKey(encryptedString, "MYSECRETKEY", iv);

final JSONObject jsonParams = new JSONObject(new JSONTokener(decryptedString));
assertEquals("JohnDoe", jsonParams.get("cname"));
assertEquals("john@doe.com", jsonParams.get("cemail"));
} catch(final Exception ex) {
fail("Decryption failed: " + ex.getMessage());

Common Issues

Any PitchPlus flow that you create requires an approval by ClickBank. This section explains some of the common reasons why PitchPlus Upsell Flows are disapproved.

  • Pitch Page URL and Product Don’t Match – Often, when creating your PitchPage flow, you may inadvertently select a product SKU that does not correspond to the pitch page URL identified in your flow. Make sure that the products offered on the Pitch Page are listed in the correct step of the Upsell Flow.
  • Required Parameters for Recurring Billing Products – If you are including a recurring billing product in your flow, you must collect agreement from the consumer to the terms of the subscription and its price and pass that agreement to ClickBank as the cbrblaccpt parameter.
  • Start Your Flow With A Different Product – When you create your flow, step 1 should include the first products offered as an upsell, not the product originally purchased by the consumer. All upsell flows are defined with products that are being offered after the original purchase has completed.
  • No Exit Pops – Exit pops are not permitted on the PitchPlus upsell page.
  • Clear Pricing, Acceptance and Decline Options – The price of the offer must be clearly stated and visible on the PitchPlus Upsell Pitch Page. Also, the Accept and Decline options for the consumer must be clear and unambiguous.
  • Product ID in Payment Links Must Match the Flow – Double check that your payment links on the PitchPlus Upsell Pitch Page refer to the same product SKUs that you defined for your flow. If they do not match, your flow will be disapproved.
  • Accept and Decline Parameters Not on Pay Links – Your accept upsell and decline upsell options must have the correct format for the pay links in order to function properly. An accept action by the consumer has a pay link that includes cbur=a as the parameter whereas a decline action by the consumer has a pay link that includes cbur=d as the parameter. Without these two pay links, your flow cannot be approved as it will not function properly. See Creating Payment Links for more information.
  • CBFID Missing from Originating Product’s Pay Link – Once your flow has been approved, you must modify your starting product’s pay link to pass the parameter that indicates a PitchPlus upsell flow should be initiated if the consumer buys the product. Your PitchPlus flow will have an ID (see your upsell flow table in your account for this value) that must be passed as a parameter for the originating product’s pay link. Without this parameter, your approved PitchPlus flow will never initiate. See Attaching the PitchPlus Upsell Flow to a Product for more information.
Have more questions? Submit a request


Please sign in to leave a comment.
Powered by Zendesk