Conversion Pixel Item Loop in Velocity
Conversion Pixel Item Loop in Velocity
Introduction
This short tutorial will explain how to use velocity to output item information for a conversion pixel. Let's say that our pixel looks like this:
<!-- Listrak Conversion Tracking --> <script type="text/javascript"> _ltk.Order.SetCustomer('[Email]', '[BillingFirstName]', '[BillingLastName]'); _ltk.Order.OrderNumber = '[OrderId]'; _ltk.Order.ItemTotal = '[Subtotal]'; _ltk.Order.ShippingTotal = '[Shipping]'; _ltk.Order.TaxTotal = '[Tax]'; _ltk.Order.HandlingTotal = '0.00'; _ltk.Order.OrderTotal = '[Total]'; _ltk.Order.AddItem('Item1', 1, '5.00');// one line per item - Item ID, Qty, Subtotal _ltk.Order.Submit(); </script> <!-- Listrak Conversion Tracking -->
The line that is not possible to do with simple tokens and requires velocity is:
_ltk.Order.AddItem('Item1', 1, '5.00'); // one line per item - Item ID, Qty, Subtotal
Here is the velocity code to perform this loop:
#foreach ($item in $order.getItems()) _ltk.Order.AddItem('${item.getItemId()}', ${item.getQuantity()}, '${item.getCost()}'); #end
And here is the velocity code inside the larger snippet of javascript:
<!-- Listrak Conversion Tracking --> <script type="text/javascript"> _ltk.Order.SetCustomer('[Email]', '[BillingFirstName]', '[BillingLastName]'); _ltk.Order.OrderNumber = '[OrderId]'; _ltk.Order.ItemTotal = '[Subtotal]'; _ltk.Order.ShippingTotal = '[Shipping]'; _ltk.Order.TaxTotal = '[Tax]'; _ltk.Order.HandlingTotal = '0.00'; _ltk.Order.OrderTotal = '[Total]'; #foreach ($item in $order.getItems()) _ltk.Order.AddItem('${item.getItemId()}', ${item.getQuantity()}, '${item.getCost()}'); #end _ltk.Order.Submit(); </script> <!-- Listrak Conversion Tracking -->