Channel Grouping is how Polar categorizes every session and conversion into a named marketing bucket — Paid Social, Organic Search, AI Assistant, and so on. Understanding how these buckets work helps you interpret your Channel Performance table accurately and build custom groupings when the defaults don't fit your reporting needs.
How Channel Grouping works
When a visitor lands on your store, the Polar Pixel captures the referrer and any UTM parameters attached to the URL. Polar uses a set of rules to map those signals to a channel bucket. If no UTM is present, Polar falls back to the raw referrer domain. If neither is available, the session is marked as Direct or Undefined depending on context.
Channel Grouping applies across the Acquisition tab, the Channel Performance table, Custom Reports, and Customer Journeys — anywhere you break down data by channel.
Default Channel Grouping
Polar ships with a default set of channel buckets. The table below lists each bucket, what maps to it, and what you'll typically see there.
Channel | Description | Sources |
Direct | Sessions with no referrer — typed URLs, bookmarks, or cases where the referrer was dropped. | e.g. |
AI Assistant | Sessions originating from AI-powered tools and chatbots. Previously bucketed under Other. | e.g. |
Organic Search | Sessions from a search engine with no paid click parameter present. | e.g. |
Paid Search | Paid search campaigns identified by platform click parameters or UTM medium. | e.g. |
Email / SMS | Sessions from email or SMS platforms, or UTM medium | e.g. |
Affiliates | Sessions from affiliate tracking platforms or campaigns tagged with UTM medium | e.g. |
Organic Social | Sessions from social platforms where no paid click parameter is detected. | e.g. |
Paid Social | Paid campaigns on social platforms, identified by UTM medium or platform-specific click parameters. | e.g. |
Undefined | No source found. The Pixel fired but no referrer or UTM was present. Polar falls back to Shopify's attribution. | — |
Other | Sessions with a UTM or referrer present that don't match any rule above. High volume here may indicate non-standard UTM conventions. | — |
Special channel types
Beyond the standard buckets above, you may see the following values in your channel data. These are not marketing channels — they indicate tracking gaps or data from sources outside the Polar Pixel.
"Undefined": No source was found for this conversion. The Polar Pixel fired, but no referrer or UTM was present. Common causes are a missing Polar Pixel on a checkout page, or sessions that began before the Pixel was installed. When a session is undefined, Polar falls back to Shopify's own attribution logic where no referring source is found either.
The order occurred before the Polar Pixel was installed.
The order came from a store that doesn't have the Polar Pixel.
Some events were not tracked due to external factors such as ad blockers or browser restrictions.
"Not Set": This value comes from Google Analytics, not the Polar Pixel. It appears when you add GA metrics (such as Transactions or Sessions) to a report and GA has no channel data for those rows. See Google's documentation for more detail.
Creating a custom Channel Grouping
If the default buckets don't match how your team thinks about channels — for example, if you want to separate Paid Search Brand from Paid Search Non-Brand, or group all influencer traffic together — you can create a custom Channel Grouping.
Option 1 — Use Ask Polar (recommended)
The fastest way to create a custom Channel Grouping is to use Ask Polar. Describe the grouping you want in plain language — for example, "create a channel grouping that separates Brand Paid Search from Non-Brand Paid Search" — and Ask Polar will build the dimension for you. You can review and adjust the result before saving.
Option 2 — Build it manually
You can also build a custom Channel Grouping yourself using the Custom Dimension builder.
Important: The default Channel Grouping dimension is locked and cannot be edited. To create a customized version, start by duplicating it.
Step 1 — Duplicate the default Channel Grouping
Open the Custom Dimensions list, find the Default Channel Grouping dimension and select Duplicate. This creates an editable copy with all the default rules pre-filled, which you can then modify.
Step 2 — Edit the "When" blocks
Each "When" block defines one channel bucket. Use Shared dimensions inside your When statements — such as Shared Channel, Shared Campaign, Shared Ad Name, or Shared Adset Name. These are marked with the purple Polar icon and ensure channels are mapped consistently across all ad sources.
Add, remove, or adjust blocks to match your reporting needs. Any session that doesn't match a block will fall into a catch-all "Other" row.
Step 3 — Name and save
Give your dimension a descriptive name (e.g. "Brand vs Non-Brand Grouping") and save. You can edit it later from the Custom Dimensions list.
Getting your custom grouping to appear in the Acquisition tab
For a custom Channel Grouping to appear in the Acquisition tab Performance table dropdown, it must only use compatible dimensions in its logic. The following are compatible:
Shared dimensions (Shared Channel, Shared Campaign, Shared Ad Name, Shared Adset Name)
Polar Pixel dimensions
If the dimension contains any other logic — such as GA dimensions, UTM Medium, Referring Source, or Sales Channel — it will not appear in the Acquisition tab dropdown. It will still work in Custom Reports.
Common reasons a custom Channel Grouping won't appear in the Acquisition tab:
The dimension references a specific source table directly (e.g. utm_medium) instead of a Shared dimension (Medium).
The logic uses Product Tag (product-level) instead of Product Tags (order-level) — these are different dimensions and only the order-level one is compatible.
The logic includes Discount Code or other non-channel fields.
If your dimension isn't appearing and you suspect an incompatibility, duplicate it, remove or replace the incompatible logic in the copy, and the copy should then appear correctly in the dropdown. Avoid modifying the original if you want to preserve it.
