VP Conversion Tracking User Guide

VP Conversation Tracking is a VirtueMart 3 plugin that helps you to track conversations of your Ads from all advertising platforms like Google Adwords, Facebook Ads, Twitter Ads, Bing Ads etc. It also allows you to customise your Thank You page or order confirmation page just the way you want. You can even show the full order details immediately after order confirmation. The plugin is compatible to Joomla! 3.

Installation

You can download the latest installation packages from our site's download page for VP Conversion Tracking. If you have an older version of Joomla! or VirtueMart or PHP please check the compatibility section to find the version of VP Conversion Tracking compatible with your Joomla!, VirtueMart and PHP versions.

It is a Joomla! System Plugin and can be installed directly through Joomla! Extension Installer. It can also be used to upgrade VP Conversion Tracking; just install it without uninstalling the previous release.

Uninstallation

You can uninstall the component just like any other Joomla! plugin. In your site's back-end, just go to Extensions Manager, click on Uninstall, select System - VP Conversion Tracking and click on Uninstall. This will completely remove VP Conversion Tracking plugin from your site.

Configuration

VirtueMart Order Confirmation Page

Order Confirmation Page

Order Confirmation Page section allows you to customise your order confirmation page layout.

Select Page

Select the page which you want your customers to see after successfully placing an order. Available options are -

  1. Standard VirtueMart: If you select this, you will see no changes in the order confirmation page layout. It will keep using standard VirtueMart Order Confirmation page where the contents of the page is controlled by the respective payment plugins.
  2. Thank You Page (VPCT): If you select this, it displays the specially designed Thank You page of VP Conversion Tracking plugin. The displayed contents in this page can be further customise with the following options displayed below.
  3. Order Details: If you select this, the customers are redirected to the order details page immediately after the order is placed.
  4. Custom Menu Item: If you select this, you can redirect the user to a specific menu item when an order is placed. You can select the menu item below.
Select Custom Menu Item

This option is displayed when you Select Page as Custom Menu Item. You can assign your desired menu item from the drop down list.

Related Products Thank You Page (VPCT) Specific Option.

If show, related products of ordered products are displayed in the Thank You page.

Maximum Related Products Thank You Page (VPCT) Specific Option.

Maximum number of related products to be displayed.

Suggested Products Thank You Page (VPCT) Specific Option.

If show, suggested products i.e. Custom who bought this products also bought this products are displayed in the Thank You page.

Maximum Suggested Products Thank You Page (VPCT) Specific Option.

Maximum number of suggested products to be displayed.

Products Per Row - Desktop Thank You Page (VPCT) Specific Option.

Products per row for large devices like modern desktops. Window width >=1200px.

Products Per Row - Smaller Desktop Thank You Page (VPCT) Specific Option.

Products per row for medium devices like older desktops. Window width >=992px and <1200px.

Products Per Row - Tablet Thank You Page (VPCT) Specific Option.

Products per row for smaller devices like tablet. Window width >=768px and <992px.

Products Per Row - Phone Thank You Page (VPCT) Specific Option.

Products per row for small devices like mobile phones. Window width <768px.

Displayed Price Types Thank You Page (VPCT) Specific Option.

Select price variants to be displayed against the displayed products. Default is Final Sales Price.

Price Labels Thank You Page (VPCT) Specific Option.

If show, labels of the price variants are displayed.

Google Ecommerce

Google Ecommerce Tracking

This section allows you place Google Ecommerce (ecommerce.js) and Google Enhanced Ecommerce (ec.js) tracking code snippets in your order confirmation page. It uses latest analytics.js. If you are still using old ga.js, you will need to first migrate to analytics.js

Enable Tracking

If yes, Google Ecommerce Tracking or Google Enhanced Ecommerce codes snippet is placed in the order confirmation page.

Basic Page Tracking Enabled

Confirm if your site is already using basic Analytics page tracking. If no, the plugin will first load analytics.js before initialising ecommerce tracking.

Client ID

If option is displayed if basic page tracking in not enabled. Enter your Google Analytics Client ID.

Enhanced Ecommerce

Set this if you are using latest Enhanced Ecommerce (ec.js) tracking. If no, standard Ecommerce Tracking (ecommerce.js) will be used.

Tracking Currency

If User's Currency, all data is passed in customer's selected currency. If Vendor's Currency, all data is passed in shop owners default currency.

Location

Set the location where the codes to be placed in the order confirmation page. If HEAD, placed before the closing </head> tag. If BODY, placed before the closing </body> tag. If PAGE, placed at the bottom of VP Conversion Tracking - Thank Page.

Shopper Approved

Shopper Approved - Customer Satisfaction Survey

This section allows you to show Customer Satisfaction Survey of ShopperApproved.com in order confirmation page.

Enable Survey

If yes, Shopper Approved - Customer Satisfaction Survey is displayed in order confirmation page.

Site ID

Enter your unique site id from ShopperApproved.com.

Force Comments

If enabled, comments field in the survey form becomes a mandatory field.

Send Email

If yes, email option is enabled in survey request script.

Tracking Codes

Conversion Tracking Codes

Add your tracking code snippets here. You can add multiple snippets by clicking on Add New button. To remove click on Remove button.

Name

Give a name to your tracking code snippet. Example: Google Ads, Facebook Ads etc.

Enabled

If yes, tracking code snippet is placed to the order confirmation page.

Location

The location where the codes to be placed in the order confirmation page. If HEAD, placed before the closing </head> tag. If BODY, placed before the closing </body> tag. If PAGE, placed at the bottom of VP Conversion Tracking - Thank Page.

Tracking Code Snippet

Copy & paste your tracking codes snippet here. You can pass order details variables (like order total, order currenct etc) by inserting the respective variable tag from Order Information drop down list. Select the variable, place the cursor at your desired position in the snippet text area and click on Insert button to insert the tag.

For example, Order Total can be rendered using {{ order_total_rounded }} tag. Similarly Order Currency can be rendered using {{ order_currency_code }}.

Here is an example of Google Adwords Conversion Tracking codes with variable order total and variable currency.

<!-- Google Code for Order Confirmation Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
        var google_conversion_id = XXXXXXXXXX;
        var google_conversion_language = "en";
        var google_conversion_format = "3";
        var google_conversion_color = "ffffff";
        var google_conversion_label = "C8OWCI_V4WcQzuSq7AM";
        var google_conversion_value = 582.25;
        var google_conversion_value = {{ order_total_rounded }};
        var google_conversion_currency = "USD";
        var google_conversion_currency = "{{ order_currency_code }}";
        var google_remarketing_only = false;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>
<noscript>
        <div style="display:inline;">
                <img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/XXXXXXXXXX/?value={{ order_total_rounded }}&amp;currency_code={{ order_currency_code }}&amp;label=C8OWCI_V4WcQzuSq7AM&amp;guid=ON&amp;script=0"/>
        </div>
</noscript>

Similarly you can add any tracking codes from any advertising platform.

Advanced

Thank You Page Router

This is a Thank You Page (VPCT) specific option. Select how Thank You Page of VP Conversion Tracking should be routed when SEF URL option is enabled. Default is Enabled. If you are using some 3rd party SEF URL extension then you may need to set this to None or No-SEF mode.

Layout Override

You can override the Thank You Page (VPCT) layout in your template.

Copy the files from - plugins/system/vpconversiontracking/views/thankyou/tmpl/
to templates/YOUR-JOOMLA-TEMPLATE/html/com_virtuemart/thankyou/.

Now you are free to make your necessary changes in the layout files.

Variable Tags

Here a list of variables which you can use in your tracking codes to pass respective information.

#TagDescription
Order
1{{ virtuemart_order_id }}Prints Order ID
2{{ invoice_number }}Prints Invoice Number if available
3{{ virtuemart_user_id }}Prints User ID
4{{ virtuemart_vendor_id }}Prints Vendor ID
5{{ order_number }}Prints Order Number
6{{ customer_number }}Prints Customer Number
7{{ order_pass }}Prints Order Pass
8{{ order_create_invoice_pass }}Prints Order Create Invoice Pass
9{{ order_total }}Prints Order Total
10{{ order_total_rounded }}Prints Order Total Rounded
11{{ order_salesPrice }}Prints Order Salesprice
11{{ order_salesPrice_after_couponDiscount }}Prints Total Net Product Price after Coupon Discount
12{{ order_billTaxAmount }}Prints Order Billtaxamount
13{{ order_billTax }}Prints Order Billtax
14{{ order_billDiscountAmount }}Prints Order Billdiscountamount
15{{ order_discountAmount }}Prints Order Discountamount
16{{ order_subtotal }}Prints Order Subtotal
16{{ order_subtotal_after_couponDiscount }}Prints Total Base Product Price after Coupon Discount
17{{ order_tax }}Prints Order Tax
18{{ order_shipment }}Prints Order Shipment Price
19{{ order_shipment_tax }}Prints Order Shipment Tax
20{{ order_payment }}Prints Order Payment Price
21{{ order_payment_tax }}Prints Order Payment Tax
22{{ coupon_discount }}Prints Coupon Discount
23{{ coupon_code }}Prints Coupon Code
24{{ order_discount }}Prints Order Discount
25{{ order_currency }}Prints Order Currency
26{{ order_currency_code }}Prints Order Currency Code
27{{ order_status }}Prints Order Status Code
28{{ order_status_name }}Prints Order Status Name
29{{ user_currency_id }}Prints User Currency ID
30{{ user_currency_rate }}Prints User Currency Rate
31{{ user_currency_code }}Prints User Currency Code
32{{ total_in_user_currency }}Prints Total In User Currency
33{{ payment_currency_id }}Prints Payment Currency ID
34{{ payment_currency_code }}Prints Payment Currency Code
35{{ payment_currency_rate }}Prints Payment Currency Rate
36{{ total_in_payment_currency }}Prints Total In Payment Currency
37{{ virtuemart_paymentmethod_id }}Prints Paymentmethod ID
38{{ payment_method }}Prints Payment Method Name
39{{ virtuemart_shipmentmethod_id }}Prints Shipmentmethod ID
40{{ shipment_method }}Prints Shipment Method Name
41{{ oc_note }}Prints OC Note
42{{ delivery_date }}Prints Delivery Date
43{{ order_language }}Prints Order Language
44{{ customer_note }}Prints Customer Note
45{{ ip_address }}Prints IP Address
46{{ created_on }}Prints Created On
47{{ created_by }}Prints Created By
48{{ modified_on }}Prints Modified On
49{{ modified_by }}Prints Modified By
50{{ order_link }}Prints Order Link
51{{ order_link_raw }}Prints Order Link Raw
52{{ pdf_link }}Prints PDF Link if available
Billing Address
1{{ details.BT.email }}Prints E-Mail
2{{ details.BT.company }}Prints Company Name
3{{ details.BT.title }}Prints Title
4{{ details.BT.first_name }}Prints First Name
5{{ details.BT.middle_name }}Prints Middle Name
6{{ details.BT.last_name }}Prints Last Name
7{{ details.BT.address_1 }}Prints Address 1
8{{ details.BT.address_2 }}Prints Address 2
9{{ details.BT.zip }}Prints Zip / Postal Code
10{{ details.BT.city }}Prints City
11{{ details.BT.virtuemart_country_id }}Prints Country
12{{ details.BT.virtuemart_state_id }}Prints State / Province / Region
13{{ details.BT.phone_1 }}Prints Phone
14{{ details.BT.phone_2 }}Prints Mobile phone
15{{ details.BT.fax }}Prints Fax
Shipping Address
1{{ details.ST.address_type_name }}Prints Address Nickname
2{{ details.ST.company }}Prints Company Name
3{{ details.ST.first_name }}Prints First Name
4{{ details.ST.middle_name }}Prints Middle Name
5{{ details.ST.last_name }}Prints Last Name
6{{ details.ST.address_1 }}Prints Address 1
7{{ details.ST.address_2 }}Prints Address 2
8{{ details.ST.zip }}Prints Zip / Postal Code
9{{ details.ST.city }}Prints City
10{{ details.ST.virtuemart_country_id }}Prints Country
11{{ details.ST.virtuemart_state_id }}Prints State / Province / Region
12{{ details.ST.phone_1 }}Prints Phone
13{{ details.ST.phone_2 }}Prints Mobile phone
14{{ details.ST.fax }}Prints Fax
Products/Items
1{{# items }} {{ virtuemart_product_id }} {{/ items }}Prints all Product ID in loop
2{{# items }} {{ virtuemart_vendor_id }} {{/ items }}Prints all Vendor ID in loop
3{{# items }} {{ product_available_date }} {{/ items }}Prints all Product Available Date in loop
4{{# items }} {{ product_basePriceWithTax }} {{/ items }}Prints all Product Baseprice With Tax in loop
5{{# items }} {{ product_desc }} {{/ items }}Prints all Product Description in loop
6{{# items }} {{ product_discountedPriceWithoutTax }} {{/ items }}Prints all Product Discounted Price Without Tax in loop
7{{# items }} {{ product_final_price }} {{/ items }}Prints all Product Final Price in loop
8{{# items }} {{ product_in_stock }} {{/ items }}Prints all Product In Stock in loop
9{{# items }} {{ product_item_price }} {{/ items }}Prints all Product Item Price in loop
10{{# items }} {{ product_lwh_uom }} {{/ items }}Prints all Product Lwh Uom in loop
11{{# items }} {{ product_mpn }} {{/ items }}Prints all Product Mpn in loop
12{{# items }} {{ product_name }} {{/ items }}Prints all Product Name in loop
13{{# items }} {{ product_variant }} {{/ items }}Prints all Product Variant in loop
14{{# items }} {{ product_ordered }} {{/ items }}Prints all Product Ordered in loop
15{{# items }} {{ product_parent_id }} {{/ items }}Prints all Product Parent ID in loop
16{{# items }} {{ product_priceWithoutTax }} {{/ items }}Prints all Product Pricewithouttax in loop
17{{# items }} {{ product_quantity }} {{/ items }}Prints all Product Quantity in loop
18{{# items }} {{ product_s_desc }} {{/ items }}Prints all Product Short Description in loop
19{{# items }} {{ product_sales }} {{/ items }}Prints all Product Sales in loop
20{{# items }} {{ product_sku }} {{/ items }}Prints all Product SKU in loop
21{{# items }} {{ category_name }} {{/ items }}Prints all Category Name in loop
22{{# items }} {{ product_special }} {{/ items }}Prints all Product Special in loop
23{{# items }} {{ product_subtotal_discount }} {{/ items }}Prints all Product Subtotal Discount in loop
24{{# items }} {{ product_subtotal_with_tax }} {{/ items }}Prints all Product Subtotal With Tax in loop
25{{# items }} {{ product_tax }} {{/ items }}Prints all Product Tax in loop
26{{# items }} {{ product_unit }} {{/ items }}Prints all Product Unit in loop
27{{# items }} {{ product_url }} {{/ items }}Prints all Product Url in loop
28{{# items }} {{ product_weight }} {{/ items }}Prints all Product Weight in loop
29{{# items }} {{ product_weight_uom }} {{/ items }}Prints all Product Weight Uom in loop
30{{# items }} {{ low_stock_notification }} {{/ items }}Prints all Low Stock Notification in loop
31{{# items }} {{ slug }} {{/ items }}Prints all Slug/Alias in loop
32{{# items }} {{ virtuemart_category_id }} {{/ items }}Prints all Category ID in loop
33{{# items }} {{ virtuemart_manufacturercategories_id }} {{/ items }}Prints all Manufacturer Categories ID in loop
34{{# items }} {{ mf_desc }} {{/ items }}Prints all Manufacturer Desc in loop
35{{# items }} {{ mf_email }} {{/ items }}Prints all Manufacturer Email in loop
36{{# items }} {{ mf_name }} {{/ items }}Prints all Manufacturer Name in loop
37{{# items }} {{ mf_url }} {{/ items }}Prints all Manufacturer Url in loop

Product Variables

If you watch the above list carefully you can find that all product variables output in a loop. This is because an order can have several items and we need to loop through items list to fetch all details.

Tracking codes snippets are JavaScript. Therefore when you need to pass product information in most cases you will need to build a array of products containing relevant data/information. You can achieve this several ways. Here are few examples.

<script type="text/javascript">
// Create a empty array which will contain all product information
var products = [];

// Loop through all items and push/add individual product details object to the products array
{{# items }}
products.push({
    id: '{{ virtuemart_product_id }}',
    name: '{{ product_name }}',
    variant: '{{ product_variant }}',
    price: '{{ product_final_price }}'
});
{{/ items }}
</script>

The above codes will output like below depending on your ordered items.

<script type="text/javascript">
// Create a empty array which will contain all product information
var products = [];

// Loop through all items and push/add individual product details object to the products array
products.push({
    id: '67',
    name: 'Marine Cap',
    variant: 'Cap Size S-M',
    price: '21.48000'
});
products.push({
    id: '72',
    name: 'Poncho',
    variant: 'Clothing weave Twill, Clothing size M',
    price: '29.88000'
});
products.push({
    id: '73',
    name: 'Dress',
    variant: 'Clothing weave Twill, Clothing size XS',
    price: '539.88000'
});
</script>

You can also build the same above array of product objects in a different manner like below.

<script type="text/javascript">
// Create an array of all product objects
var products = [
{{# items }}
{
    id: '{{ virtuemart_product_id }}',
    name: '{{ product_name }}',
    variant: '{{ product_variant }}',
    price: '{{ product_final_price }}'
},
{{/ items }}
];
</script>

The above codes will output like below depending on your ordered items.

<script type="text/javascript">
// Create an array of all product objects
var products = [
{
   id: '67',
   name: 'Marine Cap',
   price: '21.48000',
   variant: 'Cap Size S-M'
},
{
   id: '72',
   name: 'Poncho',
   price: '29.88000',
   variant: 'Clothing weave Twill, Clothing size M'
},
{
   id: '73',
   name: 'Dress',
   price: '539.88000',
   variant: 'Clothing weave Twill, Clothing size XS'
},
];
</script>