Skip to main content

Google Universal Analytics Integration for Default Flows (without GTM)

Overview

analytics.js library is a JavaScript library that helps the vendor measure how users interact with their website. This guide explains how to add analytics.js to your website.

   This documentation refers to Google Universal Analytics, which is a deprecated version that will be sunset starting July 1st 2023 for free Universal Analytics properties and starting July 1st 2024 for 360 Universal Analytics properties. We strongly recommend you to migrate to Google Analytics 4 as soon as possible.

If you don’t have experience with code, you might want to seek assistance from a developer for the following steps.

Add the Google Universal Analytics code to the 2Checkout template

Integrate the code below (also called JavaScript tracking snippet) into your website's templates to enable analytics.js. The code snippet contains the data layer and must be added to the template file in the JavaScript code section. Depending on your having a custom domain or not, the appropriate code must be added.

Add the JavaScript tracking snippet code near the top of the <head> tag and before any other script or CSS tags. Also, the ‘UA-123156882-1’ highlighted string below needs to be replaced with your Google Universal Analytics property ID (or tracking ID).

If you don’t know the Google Universal Analytics property ID, you can find it here.

The JavaScript tracking snippet code can be pasted after the existing code, as shown in the image of the JavaScript code section of the Control Panel template files below.  

javascript code.png

Implementation with a custom domain

If you have a custom domain, the below JavaScript tracking code will be added in the JavaScript code section of your Merchant Control Panel template files:

<script> 
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 
ga('create', 'UA-123156882-1', 'auto'); 
ga('require', 'ec'); 
  if (omniture_vars.BILLING_CURRENCY) {ga('set', 'currencyCode', omniture_vars.BILLING_CURRENCY)};
if (omniture_vars.PAGE_NAME == "product"){   
 for (var i=0;i<omniture_vars.CART_PRODUCTS.length;i++)   
 {        
    ga('ec:addProduct', {                    
     'id': omniture_vars.CART_PRODUCTS[i].ProductCode,                     
     'name': omniture_vars.CART_PRODUCTS[i].ProductName,                    
     'category': omniture_vars.CART_PRODUCTS[i].ProductCategory,                    
     'brand': omniture_vars.CART_PRODUCTS[i].ProductGroup       
    });         
   }      
   ga('ec:setAction', 'detail'); 
}
 else if (omniture_vars.PAGE_NAME == "cart")
 {   
  for (var i=0;i<omniture_vars.PRODUCT_ADDED_DETAILS.length;i++)   
  {        
    ga('ec:addProduct', {                   
     'id': omniture_vars.PRODUCT_ADDED_DETAILS[i].ProductCode,                    
     'name': omniture_vars.PRODUCT_ADDED_DETAILS[i].ProductName,                    
     'category': omniture_vars.PRODUCT_ADDED_DETAILS[i].ProductCategory,         
     'brand': omniture_vars.PRODUCT_ADDED_DETAILS[i].ProductGroup       
    });         
   }      
     ga('ec:setAction', 'add'); 
}
 else if (omniture_vars.PAGE_NAME == "checkout" || omniture_vars.PAGE_NAME == "checkcart")
 {   
  for (var i=0;i<omniture_vars.CART_PRODUCTS.length;i++)
{        
    ga('ec:addProduct', {         
     'id': omniture_vars.CART_PRODUCTS[i].ProductCode,
     'name': omniture_vars.CART_PRODUCTS[i].ProductName,         
     'category': omniture_vars.CART_PRODUCTS[i].ProductCategory,          
     'brand': omniture_vars.CART_PRODUCTS[i].ProductGroup,         
     'quantity': omniture_vars.CART_PRODUCTS[i].ProductQuantity       
    });         
   }      
    ga('ec:setAction', 'checkout',{'step': 1}); 
}
 else if (omniture_vars.PAGE_NAME == "verify")
 {   
  for (var i=0;i<omniture_vars.CART_PRODUCTS.length;i++)   
  {        
    ga('ec:addProduct', { 
        'id': omniture_vars.CART_PRODUCTS[i].ProductCode, 
        'name': omniture_vars.CART_PRODUCTS[i].ProductName,        
        'category':omniture_vars.CART_PRODUCTS[i].ProductCategory,           
        'brand': omniture_vars.CART_PRODUCTS[i].ProductGroup,          
        'quantity': omniture_vars.CART_PRODUCTS[i].ProductQuantity       
    });         
   }      
    ga('ec:setAction', 'checkout',{'step': 2}); 
}
else if (omniture_vars.PAGE_NAME == "finish" && omniture_vars.PURCHASE_COMPLETE === true)
{   
  if (typeof myOrder != "undefined" && typeof myOrder.productsPrices != "undefined")
  {
    for (var k=0;k<myOrder.productsIds.length;k++)
    {
      ga('ec:addProduct', {
        'name': myOrder.productsNames[k],         // Name or ID is required.
        'id': myOrder.productsIds[k],
        'price': myOrder.productsPrices[k],
        'category': "",
        'quantity': myOrder.productsQuantities[k]
      });
    }
  }  
ga('ec:setAction', 'purchase', {     
   'id': omniture_vars.ORDER_REFNO,     
      'revenue': myOrder.totalPrice,     
            'tax': myOrder.tax    
   });
}
ga('send', 'pageview');</script>

Implementation without a custom domain 

If you are using the secure.2checkout.com domain, the additional JavaScript code below must be added to the second paragraph of the Google Universal Analytics code shown above, after the snippet ga('create', 'UA-123156882-1', 'auto');  and before the snippet ga('require', 'ec');.

Thus, the second paragraph will have the following form: the first yellow highlighted field needs to be replaced with your Google Universal Analytics property ID (or tracking ID), and the second highlighted field needs to be updated with your own website domain.

ga('create', 'UA-123156882-1', 'auto', {'allowLinker': true}); 
ga('require', 'linker'); 
ga('linker:autoLink', ['mywebsite.com'] );
ga('require', 'ec');  

This additional code above is required for cross-domain tracking so that the visitor on your own website is recognized as the same visitor when entering the 2Checkout template.  

Step 2: Set the Google Universal Analytics JavaScript code on your own website

Implementation with a custom domain

You should use the default Google Universal Analytics tracking script for analytics.js provided by Google, which has the following form (the string highlighted in yellow must be updated with the property ID of the vendor):

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>

Implementation without a custom domain 

If you are using the secure.2checkout.com domain, the following settings must be applied: the Google Universal Analytics JavaScript tracking code on your own website must be updated and have the following form (highlighted in yellow is the Google Analytics property ID that needs to be replaced with your own GA property ID code).

<script>  
(function(i,s,o,g,r,a,m){i['GoogleAn alyticsObject']=r;i[r]=i[r]||function(){  
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)  
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-123156882-1', 'auto', {'allowLinker': true});  
ga('require', 'linker');  
ga('linker:autoLink', ['secure.2checkout.com'] );  
ga('send', 'pageview');
</script>

Below are the elements that are different from the default Google Universal Analytics analytics.js tracking code and that enable cross-domain tracking. This code snippet is integrated into the rest of the code provided in the Google documentation here

{'allowLinker': true});  
ga('require', 'linker');  
ga('linker:autoLink', ['secure.2checkout.com'] );

Sending MyOrder Data to Google Universal Analytics

By default, the myOrder object is displayed only for orders with payments authorized instantly (this includes usually credit cards and PayPal), after the payment is complete (transaction needs to be authorized successfully). To have the myOrder object available for all placed orders regardless of the payment status (to send revenue to Google Universal Analytics based on myOrder.TotalPrice, or more offline payment methods orders), follow the steps below.

  1. Log in to your Merchant Control Panel account.
  2. Go to Setup → Ordering Options.
  3. Scroll down to the After sale message area and check the checkbox for the Show message for all placed orders option.

web analytics in Merchant Control Panel_2.png

3. Click Save settings at the bottom of the page.

A JavaScript object called myOrder is available on the ‘Thank you’ page providing information about the purchased products including ID, quantity, name, price, etc.

To see information about orders in Google Universal Analytics, follow these steps:

  1. Log in to your Merchant Control Panel account.
  2. Navigate to Setup → Ordering Options and click on the Analytics tab.

web analytics in Merchant Control Panel_1.png

3. Scroll down to the Tracking script section and add a code snippet (for example add <div></div>).

4. Apply the code to all languages or to the languages for which you want your template to be tracked.

5. Click Save at the bottom of the page.

web analytics in Merchant Control Panel_3.png 

Enable Enhanced E-commerce tracking in Google Universal Analytics

In your Google Universal Analytics Control Panel, go to Admin → All Web Site Data → Ecommerce Settings and enable both the Enable Ecommerce and the Enable Enhanced Ecommerce Reporting buttons, as shown in the image below.

ecommerce setup.png

Increase your chances of winning a chargeback

Overview

Dealing with chargebacks can turn into a painful process for online businesses. Chargebacks can cost you more than just lost sales; those losses combined with associated fees can result in a major business drop.

To protect you from the downsides of the chargeback process, we have a dedicated chargeback team whose main objective is to ensure a high winning rate for your disputes, while making the entire experience better for you and your customers. The reasons why you should care about chargebacks are obvious:

  • Chargebacks are expensive, both in fees, and lost revenue
  • Chargebacks are time-consuming from a labor perspective

Chargebacks are disputed by 2Checkout on your behalf, as we attempt to win a chargeback reversal in order to save the value of the transaction. But there is no proven process for winning, and there is no way to guarantee success. 

Separation of chargeback requests

To ensure lower costs and resolution time for all the parties involved, Visa has started to differentiate between 2 dispute types: allocation and collaboration. This separation has been made to allow Visa's internal system to use their own internal data more effectively and incorporate automation whenever possible.

  Allocation Collaboration
Management style Liability-Assessment Model Litigation-Based Model
Action taken Visa will consult internal data and assess liability to either the cardholder or the merchant. The merchant has a chance to respond to the dispute with compelling evidence; the outcome will be determined by issuer and acquirer together (similar to current processes)
Dispute categories Fraud, Authorization Customer Dispute, Processing Error

Maximize your chargeback winning rate

Obviously, the best protection is to do everything you can to prevent chargebacks from being filed. But no matter how vigilant you are, chargebacks are inevitable, so preparation and anticipation are the keys. Winning a chargeback dispute is difficult, but not impossible.

Digital goods

For the Collaboration chargeback type, you can help us improve your chargeback winning rate by providing the following documents (where applicable), in PDF format:

  • Evidence of cardholder or customer is in possession of the merchandise and making use of the service
  • Evidence of e-correspondence if available (email communication between you and the customer)
  • Description of merchandise or service purchased
  • Evidence that the goods or services described on the invoice were delivered or provided as described (authentic merchandise)
  • Evidence that the cardholder did not attempt to return the merchandise or cancel the service
  • Proof that the cardholder failed to meet the cancelation terms of the signed contract 
  • Evidence to demonstrate that the cardholder received the merchant's cancelation or return policy and did not cancel according to the disclosed policy
  • Description of the goods or services successfully downloaded, the date and time such goods or services were downloaded and two or more of the following:
    • Purchaser’s name and email address linked to the customer profile on record with the merchant
    • Evidence that the profile set up by the purchaser on the merchant’s website or application was accessed by the cardholder and successfully verified by the merchant before the transaction date
    • Proof that the merchant’s website or application was accessed by the cardholder for goods or services on or after the transaction date
  • Documentation confirming the cardholder or authorized user is registered to purchase goods with a password and must provide one or more of the following documentation
    • Other completed undisputed purchases prior to, or after, the alleged fraudulent transaction
    • Details of the purchase
    • Proof of delivery
    • Email addresses to support digital download delivery
    • Evidence that the cardholder or authorized user registered the disputed goods and services for purposes of warranty or future software updates
    • Evidence that the disputed goods or services were used

Physical goods

For the Collaboration chargeback type, you can help us improve your chargeback winning rate by providing the following documents (where applicable), in PDF format:

  • Emails or photographs to prove a link between the shopper and the cardholder, or to prove that the cardholder disputing the transaction is in possession of the merchandise and/or is using the merchandise or services
  • For an e-commerce transaction in which the merchandise is delivered or collected from the merchant's location, documentation (proof of delivery, tracking numbers) that the item was delivered or any of the following:
    • Signature of the cardholder on the pick-up form
    • Copy of identification presented by the cardholder
    • Details of identification presented by the cardholder
    • Copy of the invoice
  • Evidence, such as photographs or emails, to prove that the merchandise or service matched what was described
  • Documentation to prove that the cardholder did not attempt to return the merchandise
  • Evidence that returned merchandise has not been received
  • Evidence that the merchant tried to repair or replace merchandise/services
  • Documentation to prove that the merchandise is not counterfeit
  • Evidence that the terms and conditions were clearly communicated to the cardholder before the transaction was processed
  • Cancelation and return policy
  • Any communication with the customer, including emails or social media interactions
    • Proof that the merchandise delivered was not damaged or defective

Customer

Overview

Use the object below to create, update and retrieve customers in 2Checkout.

Input parameters

Parameters Type/Description

ExternalCustomerReference

Optional (string)

 

Unique customer alphanumeric (string) identifiers you control. Aggregate subscriptions under the same Customer account by adding the CUSTOMERID (case sensitive) parameter to Buy-links.

FirstName

Required (string)

 

Customer's first name. 

LastName

Required (string)

 

Customer's last name.

Company

Optional (string)

 

Company name.

FiscalCode

Optional (string)

 

Can be null for end users. For companies, it needs to be the VAT ID, which 2Checkout validates.

2Checkout throws an error if the VAT ID is invalid/incorrect. When present, you also need to provide the company name.

 

Can be null for end users.

Address1

Required (string)

 

Customer's address.

Address2

Optional (string)

 

Customer's address.

City

Required (string)

 

Customer's city.

State

Optional (string)

 

Customer's state. For example, "Alabama","Alaska","Arizona".

Zip

Required (string)

 

Zip code.

CountryCode

Required (string)

 

Customer's country code (ISO 3166 two-letter code).

Phone

Optional (string)

 

Customer's phone number.

Fax

Optional (string)

 

Customer's fax number.

Email

Required (string)

 

Customer's email.

Enabled

Optional (boolean)

 

true or false, depending on whether the customer account is active or inactive. An active customer account features at least one Active or Past due subscription. Possible customer statuses:

 

  • Active - Customer account status is Active even if Trial and Canceled/Expired subscriptions exist for the customer, as long as there's at least one Active subscription. Customers with a single subscription featuring the Past due status (expired but in the grace period) are considered Active.
  • Inactive - All subscriptions associated with this Customer account are canceled, expired or both.
  • Trial - Customer account status is Trial if all Active subscriptions for this customer are trials, regardless of any Canceled/Expired subscriptions.

Trial

Optional (boolean)

 

true or false, depending on whether the customer account features only trials or also paid subscriptions.

Language

Optional (string)

 

ISO 639-1 two-letter code. Example: “en.”

 

Unassign a price option

Overview

Use the unassignPricingConfigurationOptionGroup method to remove a PricingOptionGroup from a PricingConfiguration.

Parameters

Parameters Type/Description

sessionID

Required (string)

 

Session identifier, the output of the Login method. Include sessionID into all your requests. 2Checkout throws an exception if the values are incorrect.  The sessionID expires in 10 minutes.

pricingConfigurationCode

Required (string)

 

Unique, system-generated pricing configuration identifier.  

priceOptionsGroupAssigned

Required (Object)

 

Details below.

PriceOptionsGroupAssigned

Object

Code

Required (string)

 

PricingOption Group identifier.

Required

Required (Object)

 

True or false depending on whether the pricing options group is required during the purchase process or not.

Response

bool(true)

Request

<?php

require ('PATH_TO_AUTH');

$pricingConfigurationCode = 'YOUR_PRICING_CONFIG_CODE';
$priceOptionsGroupAssigned = new stdClass();
$priceOptionsGroupAssigned->Code = 'STORAGE';
$priceOptionsGroupAssigned->Required = false;

try {
    $UnassignedOption = $client-> unassignPricingConfigurationOptionGroup ($sessionID, $PricingConfigurationCode, $PriceOptionsGroupAssigned);
}

catch (SoapFault $e) {
    echo "Options: " . $e->getMessage();
    exit;
}

var_dump("Options", $UnassignedOption);


?>

Customer

Attributes

Parameters

Type/Description

CustomerDetails

Object

 

2CheckoutCustomerReference

Optional (Int)

 

 

System-generated 2Checkout customer reference.

 

null when you create a new customer. The 2Checkout system generates default customer numerical (integer) IDs (AV_CUSTOMERID) automatically for all orders containing products that feature subscriptions.

 

 

Aggregate subscriptions under the same Customer account by adding the AV_CUSTOMERID (case sensitive) parameter to Buy links.

 

ExternalCustomerReference

Optional (string)

 

 

Unique customer alphanumeric (string) identifiers you control. Aggregate subscriptions under the same Customer account by adding the CUSTOMERID (case sensitive) parameter to Buy links.

 

FirstName

Required (string)

 

 

Customer's first name. 

 

LastName

Required (string)

 

 

Customer's last name.

 

Company

Optional (string)

 

 

Company name.

 

FiscalCode

Optional (string)

 

 

Can be null for end users. For companies, it needs to be the VAT ID, which 2Checkout validates.

2Checkout throws an error if the VAT ID is invalid/incorrect. When present, you also need to provide the company name.

 

Can be null for end users.

 

Address1

Required (string)

 

 

Customer's address.

 

Address2

Optional (string)

 

 

Customer's address.

 

City

Required (string)

 

 

Customer's city.

 

State

Optional (string)

 

 

Customer's state. For example, "Alabama","Alaska","Arizona".

 

Zip

Required (string)

 

 

Zip code.

 

CountryCode

Required (string)

 

 

Customer's country code (ISO 3166 two-letter code).

 

Phone

Optional (string)

 

 

Customer's phone number.

 

Fax

Optional (string)

 

 

Customer's fax number.

 

Email

Required (string)

 

 

Customer's email.

 

ExistingCards

Optional (Array of objects)

 

 

 

 

 

TransientToken

Optional (Object)

 

 

 

Populated only with when you retrieve customer information by SSOToken.

 

 

 

Token

Optional (string)

 

 

 

 

Token for the EXISTING_PAYMENT_DATA flow. Use it to charge customers using cards they used in the past for purchases from your 2Checkout account.

 

 

CardType

Optional (string)

 

 

 

visa, visaelectron, mastercard, maestro, amex, discover, dankort, cartebleue, jcb

 

 

LastDigits

Optional (string)

 

 

 

Last four digits of the credit card.

 

 

ExpirationMonth

Optional (string)

 

 

 

Card expiration month.

 

 

ExpirationYear

Optional (string)

 

 

 

Card expiration year.

 

 

NameOnCard

Optional (string)

 

 

 

Card holder name.

 

Enabled

Optional (boolean)

 

 

true or false, depending on whether the customer account is active or inactive. An active customer account features at least one Active or Past due subscription. Possible customer statuses:

 

  • Active - Customer account status is Active even if Trial and Cancelled/Expired subscriptions exist for the customer, along as there's at least one Active subscription. Customers with a single subscription featuring the Past due status (expired but in the grace period) are considered Active.
  • Inactive - All subscriptions associated to this Customer account are cancelled, expired or both.
  • Trial - Customer account status is Trial if all Active subscriptions for this customer are trials, regardless of any Cancelled/Expired subscriptions.

 

Trial

Optional (boolean)

 

 

true or false, depending on whether the customer account features only trials or also paid subscriptions.

 

Language

Optional (string)

 

 

ISO 639-1 two-letter code. Example: “en.”

 

Retrieve all groups

Overview

Use the getProductGroups method to extract information about the product groups you created for your account.

Parameters

Parameters Type/Description

sessionID

Required (string)

 

Session identifier, the output of the Login method. Include sessionID into all your requests. 2Checkout throws an exception if the values are incorrect.  The sessionID expires in 10 minutes.

Response

Parameters Type/Description

ProductGroup

Array of objects

Request

 <?php

require ('PATH_TO_AUTH');

$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'getProductGroups',
'params' => array($sessionID)
);
var_dump (callRPC((Object)$jsonRpcRequest, $host));

?>

Increase sales and shopping cart conversion rates

Overview  

Online businesses across multiple industries are facing a significant impact on sales because of the economic pressure of social distancing. In the past weeks, the general purchasing mindset has been redirected to online channels with customer behavior driven by necessity. This translates into an upsurge in online shopping but a decline in sales for other businesses given the spending priorities are shifting amid the uncertainty.  

While you cannot control the outcome of the current crisis, you can still safeguard your revenue and improve the ordering experience to reduce cart abandons growing risks.   

We’ve gathered a list of best practices and eCommerce tools to help you optimize your business to get more customers, increase sales, and recover lost revenue from abandoning visitors or unfinished payments. 

Offer discounts and promotions 

Discount smartly with advanced promotions.

  • Set up Promotions for your products by accessing the Marketing Tools section in your Merchant Control Panel and select the Promotion category
  • Incentivize shoppers to purchase your products in larger quantities with volume discounts. Follow this simple guide to configure volume discounts for your products. 
  • Offer percentage-based discounts to your customers, based on the number of unique products added to the shopping cart. In this guide, we show you how to configure and apply multi-product discounts
  • Extend the control over prices displayed throughout the entire buying experience with special price promotions. You can follow each step in this guide and create special price promotions and define the final order price your customers will pay.

Expand to new markets 

Provide global reach for your offer and empower customers worldwide with the localized buying experience they expect. 

  • Access new audiences and increase conversion rates worldwide and in emerging eCommerce markets.  
  • You can enable more payment alternatives in the Ordering Options section in your Merchant Control Panel by selecting the payment methods you want to activate for your customers.  
  • When selling internationally with us, you don’t have to worry about currency conversions and language translation because we offer you the following tools out of the box:  
    • Currency conversion and order localization enabled by default, powered by our Geo-Location IP address detection. 
    • 200+ Billing countries, which you can edit at any time by going to the Order options category under the Setup section. 
    • Additionally, you can further optimize your products and increase conversion rates by translating their name, description, and marketing details in more than 30 languages.  
    • In order to edit the display language for your products, go to the Products category, click on Edit product and select the languages in which you want to translate them, and then add the translation. 

Test new optimized shopping carts 

Optimize your checkout experience through new shopping cart templates and implement a fully responsive design to offer an engaging ordering experience.  

  • Start using Convert Plus as your primary checkout experience. It is optimized for international and local sales and has a new layout meant to improve your conversion rates, average order value, and overall revenue. Check out the newest optimizations for Convert Plus.  
  • Use InLine Cart if you have a smaller product catalog and want to minimize the time a customer spends on the checkout process. 

Turn lost orders into satisfied customers 

Retain more customers and lower the number of unfinished payments and cart abandonment rates. Use order recovery follow-up emails to reduce unfinished payment rates with up to 20% and set up cart abandonment email notifications to convert free downloads into customers. 

  • Activate follow-ups for customers with declined payments to recover lost orders with customizable notifications. You can do this by enabling the follow-up setting for unfinished payments from the Lead Management section in your Merchant Control Panel. 
  • You can further customize follow-up emails from the Email template manager section. 
  • Customers who have abandoned their purchase can be reminded to return and continue shopping, and you can convert them into paying customers. Here is an easy way to adopt the abandoned cart follow-up configuration: 

For any additional information on how to use any of these features, reach out to our Merchant Support Team or to your account manager

 

Top 5 secrets for better customer retention

Retention plays a pivotal role in every software and online services companies' growth. It directly impacts customer lifetime value (CLTV) and is a key barometer of the health of your subscriber base.

Online companies need to understand how low authorization rates, payment failures, chargebacks, and refunds impact retention and ultimately your company's success.

Watch our webinar, with Adriana Iordan, Sr. Director of Product Management, and Radu Ionescu, Sr. Product Manager, at 2Checkout sharing insights into:

  • Case studies of customers who have successfully boosted their retention rate
  • Best practices and strategies to increase retention effectiveness
  • Key retention metrics including Authorization and Renewal Rates
  • Must-have tools and processes to maximize recurring revenues
Join Our Webinar

 

Upgrade price

Overview

Retrieve the upgrade price for a subscription.

Attributes

Parameters Type/Description

BillingPrice

Double

 

The price Avangate charges the customer, without taxes.

BillingGrossPrice

Double

 

The price Avangate charges the customer, including taxes.

BillingCurrency

String

 

The currency ISO code used for the payment - ISO 4217.

Quantity

Int

 

The mandatory quantity for the upgrade (you cannot make partial upgrades)

DisplayPrice

Double

 

Display price.

DisplayGrossPrice

Double

 

Display price before deductions.

DisplayCurrency

String

 

Display currency. ISO 4217 code.

ProratedPrice String
 

Net prorated price for the upgrade.

If the calculated upgrade price is 0, the prorated price is also send as 0. 

If customers upgrade to a product with a lower price, the total and net prices will be 0, however, the Prorated Price will be the negative calculated value. Use this information in case you want to refund customers for upgrades to lower priced subscription plans.

ProratedGrossPrice String
 

Gross prorated price for the upgrade.

If the calculated upgrade price is 0, the prorated gross price is also 0. 

If customers upgrade to a product with a lower price, the total and net prices will be 0, however, the Prorated Gross Price will be the negative calculated value. Use this information in case you want to refund customers for upgrades to lower priced subscription plans.

Discount Float
  Applied discounts
DiscountedProratedPrice Float
  Prorated net price for the upgrade with applied discounts
DiscountedProratedGrossPrice Float
  Prorated gross price for the upgrade with applied discounts
DiscountedBillingPrice Float
  Net billing price available for  the upgrade process with applied discounts
DiscountedBillingGrossPrice Float
  Gross billing price available for  the upgrade process with applied discounts
DisplayDiscount Float
  Discount displayed for the upgrade process
DiscountedDisplayPrice Float
  Net display price available for the upgrade process with applied discounts
DiscountedDisplayGrossPrice Float
  Gross display price available for the upgrade process with applied discounts

 

Follow-up emails for unfinished payments

Overview

Target customers granularly depending on who/what generated the unfinished payment:

  • The shopper: new acquisitions, trial purchases, manual renewals, and upgrades.
  • The 2Checkout system: automatic subscription renewals and trial conversions (recurring payment authorizations).

2Checkout collects shopper data by default during the ordering process and will send out a total of 15 notification emails covering all payment methods, according to your account's settings.

Notification type - basic, the message includes several links designed to let shoppers retry the transaction or select a different payment method.

Availability

Lead management is available for unfinished payments by default for all 2Checkout accounts, and, currently, only for catalog products.

Payment methods

2Checkout sends follow-up messages for unfinished payments made using one of the following payment methods:

  1. Instant Payment Methods (Visa/MasterCard, American Express, Diners Club, JCB, PayPal, Discover, 支付宝 (Alipay), iDEAL, OP-Pohjola, Nordea, Danske, Trustly, WeChat Pay, Trustpay, Skrill Wallet)
  2. Offline Payment Methods (Bank/Wire transfer, Check, Boleto/Pix, UnionPay, Neteller)

Default settings

Emails are sent to shoppers who successfully placed an order that could not be finalized because of a payment process failure (e.g. insufficient funds, authorization declined, etc.).

By default, your account contains a single lead management campaign. The 2Checkout system will send out one email for unfinished payments to shoppers who used an online payment method to place the order. The follow-up email is sent two hours after the order is placed provided that the transaction fails to complete successfully. Default unfinished payment follow-up emails cover both transaction failure scenarios:

  • New acquisitions, trial purchases, manual renewals, and upgrades.
  • Automatic subscription renewals and trial conversions (recurring payment authorizations).

For offline payment methods, the sequence for unfinished payment emails can be as below:
•    Email 1: after 24 hours (no discount)
•    Email 2: after 72 hours (no discount)
•    Email 3: after 7 days (include a discount)

How to configure follow-up emails for unfinished payments

1. Log in to your 2Checkout account in the Merchant Control Panel.

2. Navigate to Dashboard → Marketing tools → Lead Management → Manage your leads.

3. Go to Order recovery → Unfinished payment, and click on the Edit button.

4. Under Follow-up settings, select Yes to enable order recovery follow-ups.

Follow-up settings

5. Select the payment type.

  • Instant Payment Methods (Visa/MasterCard/Eurocard, American Express, JCB, PayPal, Discover/Novus, 支付宝 (Alipay), iDEAL, OP-Pohjola, Nordea, Danske, Trustly, Skrill Wallet, Neteller)
  • Offline Payment Methods (Bank/Wire transfer, Boleto/Pix, UnionPay)

6. Enter the number of hours or days after the last failed charge attempt to wait before sending the follow-up email. Available time intervals:

  • Instant Payment Methods: from 1 hour up to 90 days.
  • Offline Payment Methods: from 1 to 30 days. The countdown begins immediately after the last failed charge attempt made by the 2Checkout system or as the result of a payment.

7. Select the follow-up type.

  • Recurring charges (system-generated): automatic subscription renewals and trial conversions (recurring payment authorizations). Imported subscriptions are also supported.
  • Manual purchases (shopper-generated): new acquisitions, trial purchases, manual renewals, and upgrades.

8. Click Update Settings to save your changes.

You can configure a total of 15 follow-up emails for all payment methods. Once added, existing follow-up emails can be removed at any time. You'll be able to view and customize the follow-up emails from the Email template manager section.

Follow-up emails

The 2Checkout system sends out two (2) different emails, based on the type of follow-up. Each notification contains special wording per the type of transaction failure it's designed to remedy:

  • Recurring charges (system-generated): only for failed transactions involving Credit/debit cards, PayPal and Direct Debit recurring charges for subscriptions acquired through iDeal.
  • Manual purchases (shopper-generated): for failed transactions involving instant payment methods, online Direct Debit, and offline payment methods.

Recommended settings

Type When Why?
Instant payment methods

1 hour

1 day

3 days

 

 

 

 

Configure follow-up messages for unfinished payments and increase order recovery rate to as much as 25% from all transaction failures.

 

Offline payment methods

1 day

3 days

7 days

Email buy-links

Buy-links included in the email will take users to a shopping cart containing the products added to the cart. Prices are calculated according to the pricing configurations of the products in cart at the time when the link is accessed. Promotions are taken into account only if they're still active and impacting the products in the cart. If On-the-fly pricing was used for the initial order that produced the unfinished payment, it will be reflected by the links sent to customers via the follow-up email.

FAQ

1. What will the follow-up email buy-link contain? 
In the follow-up email, a ConvertPlus retry payment link will be provided, for the shopper to finalize the previous order.
2. Does this cost me extra?
No. There is no fee associated with the activation or the use of Lead management unfinished payments functionality.
3. Will the ConvertPlus cart share the same look & feel like the current cart I am using? 
By default, ConvertPlus will use a standard template. If you are using a customized cart, the system will maintain the customizations in the unfinished payments link and the shopper will experience the same look and feel throughout the ordering flow.
4. Will the functionality be supported for orders placed via connector/third-party Integration? 
Yes. A ConvertPlus retry payment link will be generated also for orders placed via connectors/third-party integrations.

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo