This guide explains how to install Price Pilot conversion tracking on a merchant website. It supports attribution from Price Pilot outbound clicks and direct paid traffic identifiers such as Google Ads and Microsoft Ads click IDs.
Use the supplier ID provided by Price Pilot in the examples below.
What the tracking does
When a shopper lands on your website, the Price Pilot script stores supported tracking identifiers in first-party browser storage on your domain. These can include:
- Price Pilot click ID:
pp_tid - Google Ads IDs:
gclid,gbraid,wbraid - Microsoft Ads ID:
msclkid - Meta and TikTok IDs:
fbclid,ttclid - UTM fields:
utm_source,utm_medium,utm_campaign
When a purchase or other conversion happens, your site calls window.PricePilot.trackConversion(...). The script automatically includes the stored identifiers and your supplier ID, so you do not need to manually pass the Price Pilot click ID back.
Price Pilot does not collect unnecessary personal data. Do not send customer names, email addresses, phone numbers, addresses, or payment details in the conversion payload.
Option 1: Manual installation
1. Add the base script to every page
Place this tag before the closing </head> tag or before the closing </body> tag on every page. Replace 123 with your Price Pilot supplier ID.
<script src="https://www.price-pilot.co.uk/track/merchant.js?supplier_id=123" async></script>
If your platform strips query parameters from script URLs, use this version instead:
<script
src="https://www.price-pilot.co.uk/track/merchant.js"
data-supplier-id="123"
async
></script>
2. Add the conversion call to your confirmation page
Place this script on your order confirmation or thank-you page, after the base script has loaded. Replace the example values with values from your ecommerce platform.
<script>
window.PricePilot = window.PricePilot || {};
window.PricePilot.trackConversion && window.PricePilot.trackConversion({
order_id: "ORDER123",
conversion_type: "purchase",
value: 149.99,
currency: "GBP"
});
</script>
Field notes:
order_idshould be your merchant order/reference ID.conversion_typeshould usually bepurchase.valueshould be the order value as a number, without currency symbols.currencyshould be a three-letter currency code such asGBP.
3. Optional: pass your own external click ID
If you already have another click or affiliate reference that should be stored with the conversion, include it as external_click_id.
window.PricePilot.trackConversion({
order_id: "ORDER123",
conversion_type: "purchase",
value: 149.99,
currency: "GBP",
external_click_id: "YOUR-REFERENCE"
});
Option 2: Google Tag Manager installation
Google Tag Manager can install both the base script and the conversion call without editing site templates directly.
1. Create the base script tag
In Google Tag Manager:
- Go to Tags.
- Click New.
- Choose Tag Configuration.
- Choose Custom HTML.
- Paste this code, replacing
123with your Price Pilot supplier ID.
<script src="https://www.price-pilot.co.uk/track/merchant.js?supplier_id=123" async></script>
- Set the trigger to All Pages.
- Name the tag
Price Pilot - Base Script. - Save the tag.
2. Create variables for order data
Your confirmation page or data layer must expose order details. A common data layer shape is:
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: "purchase",
order_id: "ORDER123",
order_value: 149.99,
currency: "GBP"
});
</script>
In Google Tag Manager, create Data Layer Variables for:
order_idorder_valuecurrency
If your site uses different names, use those names when creating the variables.
3. Create the conversion tag
In Google Tag Manager:
- Go to Tags.
- Click New.
- Choose Tag Configuration.
- Choose Custom HTML.
- Paste this code, replacing the variable names if yours are different.
<script>
(function () {
function track() {
if (!window.PricePilot || !window.PricePilot.trackConversion) {
window.setTimeout(track, 100);
return;
}
window.PricePilot.trackConversion({
order_id: "{{order_id}}",
conversion_type: "purchase",
value: "{{order_value}}",
currency: "{{currency}}"
});
}
track();
})();
</script>
- Set the trigger to your purchase/confirmation event, for example a custom event named
purchaseor a page-view trigger for your thank-you page. - Name the tag
Price Pilot - Conversion. - Save the tag.
4. Test in Preview mode
Before publishing:
- Open GTM Preview mode.
- Visit your site through a URL that contains a test identifier, for example:
https://www.example-merchant.co.uk/product?pp_tid=test-click-123&utm_source=test
- Complete a test order or visit the confirmation page.
- Confirm that
Price Pilot - Base Scriptfires on the landing page. - Confirm that
Price Pilot - Conversionfires on the confirmation page. - Check the browser network panel for a request to:
https://www.price-pilot.co.uk/track/conversion/
Pixel fallback
If JavaScript conversion calls are not possible, use the image pixel on the confirmation page. Replace the example values with your platform variables.
<img
src="https://www.price-pilot.co.uk/track/conversion/pixel/?supplier_id=123&order_id=ORDER123&conversion_type=purchase&value=149.99¤cy=GBP"
width="1"
height="1"
alt=""
/>
The pixel is a fallback. The JavaScript install is preferred because it can store the Price Pilot click ID from the landing page and send it automatically when the conversion happens later.
What to send
Required fields for purchases:
order_idconversion_typevaluecurrency
Recommended values:
conversion_type:purchasecurrency:GBPunless agreed otherwise
Do not send personal data such as customer name, email address, postal address, phone number, or payment information.
Troubleshooting
If conversions are not appearing in Price Pilot:
- Check that the base script loads successfully on the landing page.
- Check that the supplier ID in the script tag is correct.
- Check that the conversion call fires on the confirmation page only.
- Check that
order_id,value, andcurrencyare populated. - In GTM, use Preview mode to confirm both tags fire.
- In the browser network panel, confirm a request is sent to
/track/conversion/or/track/conversion/pixel/.
If an order is refreshed or revisited, Price Pilot may receive the same order more than once. Duplicate conversions are stored and marked as duplicates rather than rejected.