Table of Contents
- Overview
- Is This Right for You?
- 1. Create Your Conversion Pixel in Feathr
- 2. Share the Snippet with Whoever Manages Your Site
- 3. Add the Code to Your Site
- 4. Verify Your Implementation
- 5. Use Your Pixel as a Campaign Goal
- FAQ
Overview
A conversion pixel is a small snippet of JavaScript that tells Feathr when someone completes a valuable action on your site — things a page visit alone can't capture, like confirming an event registration, completing a merchandise purchase, or renewing a membership. It works alongside the Feathr Super Pixel, which must already be installed on your site before a conversion pixel can fire.
Conversion pixels are what power Advanced Conversions — Feathr's most precise way to track goals like specific purchase amounts or multi-option event registrations, rather than relying on someone simply landing on a "thank you" page.
Note: Setting up a conversion pixel involves two parts: creating the pixel in Feathr (no code required) and adding a snippet of code to the right page on your site (this part does require editing your site's code, or access to a tool like Google Tag Manager).
Not sure whether you need to do any of this yourself? Check Is This Right for You? below first — if your organization has Data Services, this is handled for you.
Is This Right for You?
Conversion pixels give you the most detail — like exact donation or purchase amounts — but they do require adding a code snippet to your site. Before you dive into the steps below, check which of these applies to you:
Have Data Implementation Services? If your organization has Feathr's Data Implementation Services, this entire process — creating the pixel, writing the code, and testing it on your site — is included in your service. You don't need to follow the steps below yourself: submit an Implementation Request instead, and Feathr's Implementation Team will handle the technical work for you. Not sure if this applies to your account? See Introduction to Data Services or reach out to your Feathr contact.
If you don't have Data Implementation Services and don't have a developer, agency, or web platform you can make small code changes in yourself, you still have options:
- If you already manage your Super Pixel through Google Tag Manager, you can typically add a conversion pixel the same way, as a Custom HTML tag triggered on the right page or button click. If your team isn't sure how, check with whoever manages your Tag Manager account, or reach out to Feathr Support.
- If custom code isn't feasible right now, Feathr's other Goal types — tracking a URL visit, a Feathr Form submission, or a Feathr donation form submission — require no code at all and can still power meaningful campaign reporting.
You can always start with a simpler Goal type and move to a conversion pixel later, whether that's through your own developer or by adding Data Implementation Services.
Step 1: Create Your Conversion Pixel in Feathr
- Go to Community > Super Pixel > Conversion Pixels. (If your account's navigation looks different, check with Feathr Support)
- Click to create a new conversion pixel and give it a clear, descriptive name (for example, "Fall Gala Ticket Purchase" rather than "Pixel 3"). You'll thank yourself later — pixel IDs are a string of characters, not a name, so the label is the only thing that will make sense to you six months from now.
- Feathr generates a unique pixel ID and a starter code snippet. This snippet is a template, not a finished, drop-in solution — the pixel ID is unique to your account, but the example values in the code (like the sample amount, currency, and category) are just placeholders. Whoever implements it will need to configure it with your site's real, dynamic values before it will report accurate data — see Step 3. Keep this page open, or copy the snippet somewhere handy — you'll need it in the next step.
Step 2: Share the Snippet with Whoever Manages Your Site
(Have Data Implementation Services? You can skip this and submit an Implementation Request instead — see Is This Right for You? above.)
If someone else maintains your website — an in-house developer, an agency, or a platform vendor — send them:
- The code snippet from Step 1
- This guide (specifically the Add the Code to Your Site section below)
- A plain-language description of the action that should trigger it (for example, "fire this when a donor's payment is confirmed on the receipt page")
If you're managing the site yourself and are comfortable with basic code edits, or you're using Google Tag Manager, continue to Step 3.
Step 3: Add the Code to Your Site
This section is written for whoever is implementing the code — a developer, agency, or technically comfortable admin.
The conversion pixel is a function call using the global feathr function that the Super Pixel creates. It should execute as soon as possible after the valuable action takes place — for example, on successful confirmation of a purchase or completed registration, not on page load alone.
feathr("convert", "<pixel_id>", {
"amount": 100.00,
"currency": "USD",
"category": "ticket_purchase"
});
Note: The snippet Feathr generates is a template, not a working implementation on its own. The pixel ID is real and unique to you, but the amount, currency, and category values shown are placeholder examples. Configure the code so these values are pulled dynamically from the actual transaction — for example, the real order total from your shopping cart or donation form — rather than left as hardcoded example values. A pixel that always fires with the same hardcoded amount will report inaccurate conversion data.
Function call breakdown:
| Part | Description |
|---|---|
| feathr(...) | Invokes the global feathr function created by the Super Pixel. The Super Pixel must be installed and loaded on the page before this call runs. |
| "convert" | The action type. This string is always "convert" for conversion pixels. |
| <pixel_id> | The 24-character hexadecimal ID for this specific conversion pixel, generated in Step 1. |
| Configuration object | An object with up to three properties, described below. |
Configuration object properties:
| Property | Required? | Description |
|---|---|---|
| amount | Required | A numeric value representing the monetary value of the conversion (for example, 100.00). |
| currency | Optional | An ISO-4217 currency code (for example, "USD", "EUR"). Defaults to "USD" if omitted. |
| category | Optional | A string you choose to categorize the conversion type (for example, "ticket_purchase", "membership_renewal"). Useful if you're tracking several distinct conversion types with separate pixels. |
Note: If your site is a single-page application (SPA) — where the URL changes without a full page reload, common in many donation flows and registration tools — make sure the pixel fires on the actual confirmation event (like a successful API response or a "thank you" component rendering), not just on a route change.
Example: Tag Manager implementation. If you're adding this through Google Tag Manager instead of directly in your site's code, create a Custom HTML tag containing the snippet above, and set its trigger to the specific confirmation event or page (for example, a button click or a "thank you" page view). Confirm with your Tag Manager admin that this trigger only fires once per completed action, to avoid duplicate conversions.
Step 4: Verify Your Implementation
Once the code is live, confirm it's working:
- Complete the tracked action yourself (for example, submit a test purchase or registration, if your platform supports test transactions).
- In Feathr, go to Community > Super Pixel > Conversion Pixels.
- Find your pixel and check the Times Seen and Last Seen columns. A recent timestamp and an incremented count confirm the pixel fired successfully.
Note: It can take a little time for a test conversion to show up in the Community section. If you don't see the count update right away, wait a bit before assuming something's wrong.
If you still don't see activity after waiting, double check that the Super Pixel itself is installed and firing on the page, and that the conversion pixel code is only running after the action is actually confirmed. You can also check for recent Super Pixel activity in the Community section yourself, or reach out to Feathr Support to confirm pixel activity from their end.
Step 5: Use Your Pixel as a Campaign Goal
Once your conversion pixel is live and verified, you can use it as a Goal on any campaign or Flight — this is what lets Feathr report on conversions and optimize delivery toward them:
- In your campaign or Flight's Goal Settings, click Add Goal.
- Click Conversion pixel trigger.
- Choose your conversion pixel from the dropdown.
- Name the goal — the goal name can be the same as the conversion pixel's name.
Feathr automatically captures the conversion value from your pixel's amount parameter, so you don't need to set a separate value here.
For the full walkthrough, see How to use Advanced Conversions. If you're weighing a conversion pixel against Feathr's other Goal types, What is a Goal? breaks down all five options side by side.
FAQ
How do conversion pixels and the Super Pixel interact with iframes?
Both the Super Pixel and conversion pixels run as JavaScript in the browser context of whichever page they're placed on. If your donation form, registration flow, or confirmation step loads inside an iframe — especially one served from a different domain than your main site — browser privacy protections (like Safari's Intelligent Tracking Prevention or Chrome's ongoing restrictions on third-party cookies) can limit the Super Pixel's ability to set or read its tracking cookie inside that iframe. In practice, this means a pixel firing from inside a cross-domain iframe may not always attribute activity back to the same visitor as reliably as one firing directly on your own domain. If your conversion step happens inside an iframe (common with some payment processors or third-party form vendors), it's worth having your developer fire the conversion pixel from the parent page instead, once the iframe signals back that the action is complete.
Does creating a conversion pixel this way support custom fields?
Not directly. The convert function only accepts amount, currency, and category — it's built specifically for capturing a conversion event and its value, not for setting other data on a person's record. If you need to pass additional data into a custom field, see the next question.
Is there a way to have data come into existing fields via code?
Yes, but it's a different tool than the conversion pixel. The Super Pixel supports a separate update function that lets a developer set values directly on a person's record — including custom fields you've already created in Community > Custom Fields — for example: feathr("update", { "membership_status": "Active" });. See Extending Your Super Pixel for Developers for the full syntax, and How To Create Custom Data Fields for setting up the fields themselves first. This is also one of the things Data Implementation Services can build for you if you'd rather not do it in-house.
We have 10 donation forms on different URLs, all tracking the same thing — can we use the same conversion pixel on all of them?
Yes. A conversion pixel fires based on the JavaScript call itself, not the URL it's on, so the same pixel snippet can go on as many pages or forms as you like. Feathr will count all of them under that one pixel's Times Seen and Last Seen, and toward the same Goal in reporting — which is exactly what you want if all 10 forms should report as one combined conversion. If you'd rather see which specific form drove each conversion, give each form's snippet a different category value, or set up a separate pixel per form — either way, Feathr can break them out in reporting.
Recommendations:
- If your organization has Data Implementation Services, submit an Implementation Request rather than implementing this yourself — it's already included in your service.
- Give each conversion pixel a descriptive name when you create it — the ID itself won't tell you or your teammates what it tracks.
- Remember the generated snippet is a template: confirm with your developer that the placeholder amount, currency, and category values have been replaced with real, dynamic values before you consider the pixel done.
- Use one pixel per distinct conversion type if you want separate reporting (for example, separate pixels for "ticket purchase" and "merchandise purchase" rather than one shared pixel).
- Test in a staging or sandbox environment before launching, if your platform supports it, so you can confirm the pixel fires exactly once per completed action, with the correct dynamic values.
- If you don't have development resources or Data Implementation Services right now, start with a no-code Goal type and revisit Advanced Conversions later — see Is This Right for You?