Laravel Fathom
Unofficial Laravel wrapper for the Fathom Analytics API.
Sites
List Sites
Return a list of all sites your API key owns. Sites are sorted by created_at
ascending.
use MarcReichel\LaravelFathom\Fathom; Fathom::sites()->get();
Limit the results
use MarcReichel\LaravelFathom\Fathom; Fathom::sites()->limit(5)->get();
(Cursor) Pagination
use MarcReichel\LaravelFathom\Fathom; Fathom::sites()->after('CDBUGS')->get();Fathom::sites()->before('CDBUGS')->get();
Get Site
use MarcReichel\LaravelFathom\Fathom; Fathom::site('CDBUGS')->get();
Create Site
use MarcReichel\LaravelFathom\Fathom; Fathom::sites()->create([ 'name' => 'Acme Inc', // required 'sharing' => 'private', // optional, one of 'none', 'private' or 'public' 'share_password' => 'the-jean-genie', // optional]);
Update Site
use MarcReichel\LaravelFathom\Fathom; Fathom::site('CDBUGS')->update([ 'name' => 'Acme Holdings Inc', 'sharing' => 'private', 'share_password' => 'the-jean-genie',]);
Wipe Site
Wipe all pageviews & event completions from a website. This would typically be used when you want to cmpletely reset statistics or right before you launch a website (to remove test data).
use MarcReichel\LaravelFathom\Fathom; Fathom::site('CDBUGS')->wipe();
Delete Site
Delete a site (careful, you can't undo this).
use MarcReichel\LaravelFathom\Fathom; Fathom::site('CDBUGS')->delete();
Aggregation
use MarcReichel\LaravelFathom\Fathom; Fathom::site('CDBUGS') ->aggregate(['visits']) ->groupByDay() ->groupByField('referrer_hostname') ->orderBy('visits', 'desc') ->timezone('Europe/Berlin') ->limit(200) ->where('pathname', 'is', '/pricing') ->where('pathname', 'is not', '/login') ->get();
Current Visitors
use MarcReichel\LaravelFathom\Fathom; $detailed = false; // Optional Fathom::site('CDBUGS') ->currentVisitors($detailed);