Describe the Bug
When a visitor clicks a link from a normal, organic Facebook post (not an ad), Umami classifies that visit as "Paid Ads" instead of "Social". This happens because the PAID_AD_PARAMS array treats the fbclid parameter as a paid signal, but Facebook appends fbclid to all outbound links — paid and organic alike.
To Reproduce
Post a link to your website on your personal Facebook profile or a Facebook group (not a paid ad).
Click that link yourself, or have someone else click it.
Wait a few minutes, then check your Umami dashboard under "Channels".
See the visit listed under "Paid Ads".
Expected behavior
Organic Facebook traffic should be classified as "Social" (or at least not as "Paid Ads"). Only traffic from actual Facebook ads (with utm_medium=cpc or similar paid UTM parameters) should be labelled as paid.
Actual behavior
The visit appears under "Paid Ads".
Possible cause
The PAID_AD_PARAMS array in src/queries/analytics/event/getChannel.ts (or getChannels.ts) includes 'fbclid='.
Because fbclid is present on all Facebook outbound clicks regardless of payment, this entry incorrectly marks organic social traffic as paid.
I believe this is related to the ordering issue acknowledged in #3264, but the root cause here is the presence of fbclid in the paid‑params list itself.
Suggested fix
Remove 'fbclid=' from the PAID_AD_PARAMS array.
If you still want to detect paid Facebook traffic, rely on utm_medium=cpc, utm_medium=paid, or utm_medium=paid_social, which are the correct paid indicators.
Optionally, keep fbclid but only treat it as paid when it appears alongside one of those UTM parameters.
Thank you for a great open‑source project! I'm not submitting a PR at this time, but I wanted to report the bug clearly so it can be tracked. Happy to provide more details or help test a fix if needed.
Database
PostgreSQL
Relevant log output
Which Umami version are you using?
3.1.0
How are you deploying your application?
Docker
Which browser are you using?
Chrome
Describe the Bug
When a visitor clicks a link from a normal, organic Facebook post (not an ad), Umami classifies that visit as "Paid Ads" instead of "Social". This happens because the PAID_AD_PARAMS array treats the fbclid parameter as a paid signal, but Facebook appends fbclid to all outbound links — paid and organic alike.
To Reproduce
Post a link to your website on your personal Facebook profile or a Facebook group (not a paid ad).
Click that link yourself, or have someone else click it.
Wait a few minutes, then check your Umami dashboard under "Channels".
See the visit listed under "Paid Ads".
Expected behavior
Organic Facebook traffic should be classified as "Social" (or at least not as "Paid Ads"). Only traffic from actual Facebook ads (with utm_medium=cpc or similar paid UTM parameters) should be labelled as paid.
Actual behavior
The visit appears under "Paid Ads".
Possible cause
The PAID_AD_PARAMS array in src/queries/analytics/event/getChannel.ts (or getChannels.ts) includes 'fbclid='.
Because fbclid is present on all Facebook outbound clicks regardless of payment, this entry incorrectly marks organic social traffic as paid.
I believe this is related to the ordering issue acknowledged in #3264, but the root cause here is the presence of fbclid in the paid‑params list itself.
Suggested fix
Remove 'fbclid=' from the PAID_AD_PARAMS array.
If you still want to detect paid Facebook traffic, rely on utm_medium=cpc, utm_medium=paid, or utm_medium=paid_social, which are the correct paid indicators.
Optionally, keep fbclid but only treat it as paid when it appears alongside one of those UTM parameters.
Thank you for a great open‑source project! I'm not submitting a PR at this time, but I wanted to report the bug clearly so it can be tracked. Happy to provide more details or help test a fix if needed.
Database
PostgreSQL
Relevant log output
Which Umami version are you using?
3.1.0
How are you deploying your application?
Docker
Which browser are you using?
Chrome