seazon / FeedMe

The documents and forum of FeedMe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Strip tracking params before sharing links

gudvinr opened this issue · comments

Is your feature request related to a problem? Please describe.

Many sites add tracking tags as query arguments. Notably, utm_* tags google uses, fbclid facebook uses, etc.
While browsers may strip these either natively or using extensions, other apps can't.
So if you send links from RSS reader, you might end up with horrendous links

Describe the solution you'd like

Parameters can be stripped. I understand that manual parameter maintenance can be tedious but fortunately, there are third-party solutions available.

Firefox, for example, does this with ETP enabled (which is by default). Arguments are supplied from this URL. However, list is rather short and doesn't cover many options.

There is also an option to use filters from adguard/ublock origin which provide $removeparam option. uBlock origin serves "AdGuard URL Tracking filter" from here which can be seen in their repo.

Implementing parser for generic ad-filter lists would be suboptimal but rejecting everything other than strings starting with $removeparam and extracting arguments with /^\$removeparam=([^,\n])+$/ gives this:

list of tracking params
cstrackid
btag
jmtyClId
Tcsack
vsm_type
vsm_cid
vsm_pid
cjdata
cjevent
/^at_custom/
at_campaign
at_campaign_type
at_creation
at_emailtype
at_link
at_link_id
at_link_origin
at_link_type
at_medium
at_ptr_name
at_recipient_id
at_recipient_list
at_send_date
_ope
af_xp
af_ad
af_adset
af_click_lookback
af_force_deeplink
is_retargeting
dclid
sms_click
sms_source
sms_uph
ttclid
spot_im_redirect_source
mt_link_id
iclid
srsltid
user_email_address
_ga
_gl
cm_me
cm_cr
/^cm_mmc/
sscid
rtkcid
cuid
ir_campaignid
ir_adid
irclickid
ir_partnerid
__io_lv
_io_session_id
asgtbndr
ymid
tduid
gci
pk_vid
mindbox-click-id
famad_xuid
twclid
erid
cx_click
cx_recsOrder
cx_recsWidget
mkt_tok
mindbox-message-key
_kx
s_cid
awc
_hsmi
__hsfp
__hssc
__hstc
_hsenc
hsa_acc
hsa_ad
hsa_cam
hsa_grp
hsa_kw
hsa_la
hsa_mt
hsa_net
hsa_ol
hsa_src
hsa_tgt
hsa_ver
hsCtaTracking
ysclid
yclid
aiad_clid
_sgm_campaign
_sgm_source
_sgm_action
mc_eid
maf
_clde
_cldee
wt_mc
oprtrack
xtor
msclkid
vero_conv
vero_id
itm_source
itm_medium
itm_campaign
itm_content
itm_term
utm_adgroup
utm_ad
utm_affiliate
utm_brand
utm_campaign
utm_campaignid
utm_channel
utm_cid
utm_content
utm_creative
utm_emcid
utm_emmid
utm_id
utm_id_
utm_keyword
utm_medium
utm_name
utm_place
utm_product
utm_pubreferrer
utm_reader
utm_referrer
utm_serial
utm_servlet
utm_session
utm_siteid
utm_social
utm_social-type
utm_source
utm_source_platform
utm_supplier
utm_swu
utm_term
utm_umguk
utm_userid
utm_viz_id
gad_source
gbraid
wbraid
gclsrc
gclid
usqp
dpg_source
dpg_campaign
dpg_medium
dpg_content
admitad_uid
gps_adid
unicorn_click_id
adjust_creative
adjust_tracker_limit
adjust_tracker
adjust_adgroup
adjust_campaign
adjust_referrer
external_click_id
bsft_clkid
bsft_eid
bsft_mid
bsft_uid
bsft_aaid
bsft_ek
mtm_campaign
mtm_cid
mtm_content
mtm_group
mtm_keyword
mtm_medium
mtm_placement
mtm_source
pk_campaign
pk_medium
pk_source
_branch_referrer
_branch_match_id
vc_lpp
ml_subscriber
ml_subscriber_hash
rb_clickid
oly_anon_id
oly_enc_id
ebisAdID
wickedid
irgwc
fbclid
adfrom
nx_source
_zucks_suid
cmpid
guccounter
guce_referrer
guce_referrer_sig
_openstat
action_object_map
action_ref_map
action_type_map
fb_action_ids
fb_action_types
fb_comment_id
fb_ref
fb_source

These are domain-agnostic parameters which are constructed from adguard's general_url.txt.

Further improvements might include extending filter to also parse domain-specific rules as /^\$removeparam=([^,])+,domain=(.+)$/

List can be added as URL param to the settings so users might use their own if necessary.

very detailed proposal

commented

I would also find the function very useful.