Skip to main content
This guide walks you through everything you need to get started with Profound Pixel: getting your pixel ID, adding the code snippet to your website, setting up and verifying conversion tracking.

Before you start

Have these things in place before any code goes on your site:
  1. Sign the data processing addendum. The pixel sends Profound end-user data your current agreement doesn’t cover. Reach out to your ads representative, and don’t install until the addendum is signed.
  2. Tell your Profound team your domains. Each pixel ID carries its own list of allowed domains, and events from a domain that isn’t on the list are not processed. Share every hostname you’ll install the pixel on.

Installation steps

1

Get your pixel ID

In the Profound platform, go to Ad Manager (in the left sidebar, under Ads), select Conversions in the top-right corner, then under Your pixels, select Generate pixel.
Each pixel ID covers one site or environment.
2

Add the snippet to your website

Install the snippet manually or through Google Tag Manager.
Paste this code snippet into the <head> of every page you want to measure, and replace <YOUR_PIXEL_ID> with the pixel ID you retrieved in step 1:
Keep both pfq function calls. They do different jobs:
  • pfq("init", …) sets up identity and consent handling and captures the ad click ID from the landing URL. It records nothing by itself.
  • pfq("track", "page_viewed") records the page view. Without it, the page reports nothing.
Placement rules:
  • Place the snippet on every page you want measured. A good practice is to add it to every page through your global layout or base template.
  • Place it in <head>, as early as practical. The snippet must run before anything can rewrite the landing URL, to prevent the loss of ad click IDs.
  • Place it once per page. The snippet ignores copies of itself (if (w.pfq) return), but the page_viewed line doesn’t: copies count every page view multiple times.
Single-page apps must record their own page views. The pixel doesn’t watch for route changes, so call pfq('track', 'page_viewed') once on each route change you want recorded.
3

Set your consent posture

Learn about how the pixel reads consent signals and what each setting does in Consent and privacy.
The pixel starts in opt-in mode: it stores and sends nothing until a consent signal grants it.If your site is in the UK, the EU, or the wider European Economic Area, no action is required. Your consent management platform (CMP) provides the consent signal for the pixel.If you have a US-only site, you likely don’t have a CMP, so you need to explicitly set the consent posture to opt-out for the pixel to be able to record events. Edit the pfq("init", …) line inside the snippet you added in step 2 so it passes the posture option:
4

(optional) Allow the pixel in your Content Security Policy

If your site enforces a strict Content Security Policy, it blocks the pixel until you allow Profound’s domains.Add these directives to your policy:
  • script-src https://pixel.profound.click allows the browser to load the pixel script.
  • connect-src https://events.profound.click allows the pixel to send events.
The inline snippet from step 2 also needs a nonce or hash on its <script> block, the same way you authorize your site’s other inline scripts.
5

Track your conversions

The snippet from step 2 records page views on its own, but it can’t know when a visitor becomes a customer. Your site reports that by calling the pfq function, which the snippet makes available on every page that carries it.
Add a pfq('track', …) call to your site’s own code at the moment a conversion completes: on the order confirmation page, in the form’s submit handler, wherever the conversion becomes definite. Use the standard event name that matches the conversion, and pass the details you have, for example:
For the detailed breakdown of events and their fields, see the Events reference.
6

Verify it works

Complete a test conversion on your own site (for example, a test purchase). In your browser’s network tab, filter for events.profound.click.Locate the event request produced by your test conversion and check the following:
  1. It’s a POST request with a 202 status response.
  2. The amount field in the payload body is a whole number in minor units (the smallest unit for the given currency): for example, an amount of 129.99 US dollars should show as 12999. If the amount you see is in different units, go back to the tracking code you added in step 5 and correct the units it sends.
  3. If your site receives European/UK traffic, test the conversion as a European visitor. Until you accept the consent banner, the pixel should send no requests and write no cookies. After you accept, requests to events.profound.click should appear in the network tab, and the pixel’s cookies should appear in your browser’s cookie storage.
    Simulate a visit to your site from Europe by using a VPN, or by setting an EU-based location override in your browser’s DevTools.
After completing these steps, your pixel should be set up and ready to go. If you have issues during setup, see Troubleshooting for the most common issues, or contact support.