### Conversion Page View Tracking
Go to your Conversion/ Thank You Page Template and add basket and Conversion specific Page View parameters in the Global Tracking snippet. If your checkout pages are loaded via Dynamic Refresh, please add additional handlers to be able to [track virtual page view interactions](🔗).
## Conversion/Thank You Page View Variables
|Variable||Value name, example||Description|
|br_data.is_conversion||int, "1"||Set to 1 to indicate this is a Conversion or Thank you page (page after the customer completes the purchase).|
|br_data.order_id||string, "12123455"||The order ID associated with the order placed. This ID should match the orderID used in your analytics systems. This is used to reconcile Bloomreach's analytics data with your analytics systems.|
|br_data.basket_value||string, "100.00"||The total price of the checkout basket, usually including tax, discounts, shipping, and/or discounts in the account currency. For example: <li>If the checkout basket was $100 with $5 tax and $10 shipping, then br_data.basket_value="115.00"</li><li>If the checkout basket was $100 with $0 tax, $10 discount and $10 shipping, then br_data.basket_value="100.00"</li> This basket value has to match the basket value used in your analytics systems.|
|br_data.basket||object containing an array of product objects containing: <li>prod_id</li><li>sku</li><li>name</li><li>quantity</li><li>price</li>||This object contains a property called _items_, which is an array of the product objects purchased.|
|br_data.currency||string, "GBP"||Optional parameter that designates the currency code for the transaction. We configure the currency value according to your needs. You can choose from EUR, GBP, USD, or any other supported currency mentioned below. Supported currencies: AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTC, BTN, BWP, BYN, BZD, CAD, CDF, CHF, CLF, CLP, CNH, CNY, COP, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GGP, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, IMP, INR, IQD, IRR, ISK, JEP, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SSP, STD, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VES, VND, VUV, WST, XAF, XAG, XAU, XCD, XDR, XOF, XPD, XPF, XPT, YER, ZAR, ZMW, ZWL|
## Basket Object
Each basket object contains an _items_ array, which contains product objects with the following variables:
|Variable||Value type, example||Description|
|prod_id||string, "pid123456"||This is the unique ID, which describes a product or product collection. Needs to match Product ID sent in feed.|
|sku||string, "sku789"||If your site has SKUs, list the SKU(s) in the basket. Otherwise, leave value empty. Needs to match SKU ID sent in feed.|
|name||string, "Cashmere Sweater"||The name of the product in the basket.|
|quantity||int, "1"||The quantity of the product in the basket.|
|price||string, "65.95"||The unit price per product, not the total price. If item is on sale, this is the unit sale price.|
### Basket Product ID and SKU ID Scenarios
You have to enter certain values for the prod_ID and sku, depending on what products are in the basket. Create a product object for each product ID (and SKU, if your site has SKUs) in the basket.
|**Scenario 1**: Product 1 has one SKU Product 2 has no SKU||Create 2 objects (Product 1 and Product 2) **Product 1**: prod_id: pid123456 <li>sku: sku789</li> **Product 2**: prod_id: pid56789|
|**Scenario 2**: Product 1 has two SKUs Product 2 has no SKU||Create 3 objects (Both SKUs of Product 1, and Product 2) **Product 1**: prod_id: pid123456 <li>sku: sku789</li><li>sku: sku790</li> **Product 2**: prod_id: pid56789|
|**Scenario 3**: Product 1 is a Product Collection with its own unique ID and is sold exactly like a standalone product Product 2 is an individual product||Create 2 objects (Product Collection and Product 2) **Product 1**: prod_id: collection223344 **Product 2**: prod_id: pid56789|
|**Scenario 4**: Product 1 is a Product Collection with 2 individual products. The Collection has its own unique ID but cannot be purchased as a whole, and each product must be purchased individually Product 2 is an individual product||Create 3 objects (Two products of the Product Collection and Product 2) <li>**Object 1:** prod_id: pid1111 (part of collection223344)</li> <li>**Object 2:** prod_id: pid2222 (part of collection223344)</li> <li>**Object 3:** prod_id: pid56789</li>|
### Additional Basket Information
The key-value data you send us in the basket will be transformed into the format below in the executed pixel (pix.gif) file:<br><br>E.g. !ipid123456'ssku789'nCashmere Sweater'q1.0'p69.95!ipid56789'nBlue Skinny Jeans'q1.0'p79.99<br><br>Each product in the cart will be separated by !. Each product's details will be separated by '.<br><br>1. i\<prod_id> - This is the product id and not another id such as sku id or collection id. This should match the unique product id sent in the feed.<br> <br>2. s<sku> - Sku id, only applies if you have skus.<br> <br>3. n\<product_name><br> <br>4. q<quantity><br> <br>5. p<price> - This should be the unit price per product and not total price. If the item is on sale, this is the unit sale price.
## Native App Implementation
For details on using the Discovery [Android](🔗) and [iOS](🔗) SDKs for specific Native App Implementation, refer to their respective linked guides.
You can include the [Global Page View variables](🔗) and the following variables.
ptype = conversion
is_conversion (see above)
basket_value (see above)
order_id (see above)
basket (see [Additional Information on Basket](🔗) above)
Do not percent encode the ! separators