ProfitMetrics cookies on Shopify Stores
What the _pmc, _pmb and _pma cookies store, which consent types they depend on, and how to classify them in your consent banner.
The ProfitMetrics Shopify integration sets three first-party cookies on your storefront: _pmc, _pmb and _pma. All three are written by the ProfitMetrics Web Pixel, which Shopify only allows to start once a visitor has given analytics consent — but what ProfitMetrics is then allowed to do with the data also depends on marketing consent. This article covers what each cookie holds, how the two consent types interact, and how to list the cookies in your consent management platform.
- The three cookies
- Why analytics consent creates all three
- Why marketing consent is still needed
- How to classify the cookies in your consent banner
- Troubleshooting
The three cookies
All three are first-party cookies, set in the visitor's own browser by the ProfitMetrics Shopify app.
| Cookie | What it stores |
|---|---|
_pmc |
The visitor ID. |
_pmb |
The sync state. A verification value that keeps the two halves of the Shopify integration — the Theme App Block and the Web Pixel — agreeing on the same visitor. |
_pma |
The attribution record. Campaign details, the visitor's touchpoints, ad click identifiers (gclid from Google Ads, fbclid from Meta) and UTM tags — plus the visitor's recorded consent choices. |
NOTE: If your consent banner asks for an expiry time for each cookie, read the real values from your own store rather than assuming them — open the storage panel in your browser's developer tools on the storefront and check each cookie there.
Why analytics consent creates all three
The ProfitMetrics pixel is registered with Shopify as an analytics extension. Shopify will not start it until the visitor grants analytics consent (labelled Statistics in some banners). Until that happens, the container stays shut and no ProfitMetrics cookies are written at all.
Once consent is given and the pixel starts, it creates all three cookies together: the visitor ID (_pmc), the sync state (_pmb) and the attribution record (_pma). That is why _pma appears even for a visitor who refused marketing — it is created by the same analytics-triggered start-up as the other two.
What does change is the content. ProfitMetrics writes the visitor's consent decisions into _pma as separate flags, set to true or false to match what the visitor chose:
cc_statistics— whether analytics consent was grantedcc_marketing— whether marketing consent was granted
NOTE: A visitor who accepted analytics but declined marketing will still have all three cookies, with cc_marketing: false recorded inside _pma. The cookie being present is not a sign that the visitor's marketing choice was ignored — the flag inside it is what governs what happens next.
Why marketing consent is still needed
If you use Google Ads, Meta, or any other marketing integration, analytics consent on its own is not enough. The cookies will exist in the browser, but ProfitMetrics checks cc_marketing before doing anything with that visitor's data that involves an ad platform.
| Feature | What marketing consent controls |
|---|---|
| Conversion Booster and value adjustments | ProfitMetrics checks cc_marketing on its own servers. If marketing consent is false, the corrected conversion values and the offline conversion uploads to Google Ads and Meta are suppressed. |
| Enhanced Conversions | Hashed customer details and the ad click identifiers (gclid, fbclid) are only processed for the ad platforms when marketing consent has been granted. |
For a visitor who consents to analytics only, ProfitMetrics still records the order and its profit for reporting in your dashboard. It does not send the enriched conversion signal onwards to the ad networks. Your own profit reporting stays complete; the ad platforms simply do not receive the extra detail for that order.
How to classify the cookies in your consent banner
Most consent management platforms ask you to assign every cookie to a category, which then feeds your cookie policy and the banner's own description text. Use the classifications below.
| Cookie | Category | Description you can use |
|---|---|---|
_pmc |
Analytics / Statistics | Persistent unique visitor identifier used to measure visits and calculate customer lifetime value. |
_pmb |
Analytics / Statistics | Verification value used to coordinate the data sync between the Theme App Block and the Web Pixel. |
_pma |
Marketing / Advertising, or Analytics | Stores campaign attribution, visitor touchpoints and ad click identifiers (gclid, fbclid, UTM tags). |
_pma is the only one that needs a judgement call. If your platform allows a cookie to sit in more than one category, list it under both analytics and marketing. If it allows only one and Google Ads or Meta attribution is your main reason for using ProfitMetrics, classify it as marketing.
NOTE: On Shopify, consent is applied through Shopify's own customer privacy settings rather than by blocking individual cookies one by one, so the category you pick here describes the cookie to your visitors and in your cookie policy — it is not the mechanism that starts or stops the cookie being written.
Troubleshooting
| Symptom | Check |
|---|---|
| None of the three cookies are set | Confirm analytics consent was actually granted and passed to Shopify. Without it the Web Pixel never starts, so nothing is written. Then confirm the ProfitMetrics Web Pixel is installed and active in the store. |
_pma exists for a visitor who declined marketing |
Expected. Check the flags inside the cookie instead — cc_marketing: false means the marketing choice was recorded and will be respected on the ProfitMetrics side. |
| Conversion values or offline conversions are not reaching Google Ads or Meta | Check cc_marketing in _pma for an affected visitor. If it is false, the suppression is working as designed. If it is false for visitors who did accept marketing, the banner is not passing marketing consent to Shopify correctly. |
If you are unsure how your consent banner is passing consent to Shopify, send your store URL to support@profitmetrics.io.