If you’re working with Facebook’s API and trying to record some stats around the values being sent via their fb_source
parameter, you might be forgiven for thinking that you could get a definitive list of valid values from their official documentation. Hah! Think again.
Having collected data coming in via links from Facebook for around 9 million clicks, I’ve come to the conclusion that their list is far from complete. Since I wanted to implement some whitelisting to avoid polluting our stats, here’s the list I’m currently using to allow only “intentional” values to be recorded:
$allowed_sources = array( 'appcenter', 'appcenter_detail', 'appcenter_request', 'bookmark', 'bookmark_apps', 'bookmark_favorites', 'bookmark_seeall', 'canvas_bkmk_top', 'canvasbookmark', 'canvasbookmark_more', 'canvasbookmark_recommended', 'dashboard_bookmark', 'dashboard_toplist', 'dialog_permission', 'ego', 'email', 'fbpage_tab', 'feed', 'feed_aggregated', 'feed_highscore', 'feed_music', 'feed_news', 'feed_opengraph', 'feed_passing', 'feed_playing', 'feed_using', 'feed_video', 'group', 'home', 'home_multiline', 'home_oneline', 'hovercard', 'message', 'myapps', 'notification', 'other_multiline', 'other_oneline', 'profile_oneline', 'profile_multiline', 'recent_activity', 'reminders', 'request', 'search', 'search_multiline', 'search_oneline', 'send_tomobile', 'ticker', 'ticker_og', 'ticker_oneline', 'tickerdialog_multiline', 'tickerdialog_oneline', 'timeline', 'timeline_news', 'timeline_og', 'timeline_passing', 'timeline_recent', 'timeline_video', );