List of Facebook fb_source values

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',
);