BossHorn
Attribution Dashboard

Revenue
vs prev.
Orders
Sessions (GA)
Conv. Rate

Revenue & Sessions by Day

Total Orders
With Attribution
No Data
Coverage

By Source

By Campaign

CampaignSourceOrdersRevenueAOV

Recent Orders

#DateAmountSourceCampaignLanding Page
Page Views
Unique sessions
Completed Quiz
Add to Cart
Orders / Revenue
/ $

Funnel

Daily Activity

Top Brands

BrandSessions

Tier Choice

TierSessions

Has Battery?

Recommended Products

Product HandleShown

Orders From Quiz ()

OrderDateStatus BrandTierBattery Total

No quiz events yet. Make sure tracking is reaching https://track.bosshorn.com/track/quiz from the storefront.

Sessions
Users
New Users
Bounce Rate
Avg. Duration

Sessions by Day

Traffic Sources

SourceSessionsPurchasesConv. %Bounce

Channels

ChannelSessionsPurchasesConv. %Bounce

Landing Pages

PageSessionsPurchasesConv. %Bounce

Devices

DeviceSessionsPurchasesConv. %Bounce

Countries

CountrySessionsPurchasesConv. %
Developer Token Pending Approval
Google Ads API requires Basic Access. Apply at Google Ads → Tools → API Center.

Google Ads Campaigns

CampaignTypeImpr.ClicksCTRCPCSpendConv.RevenueROAS

Facebook Ads API Setup

Part A — Find your Ad Account ID
2
Look at the URL bar — you'll see act=123456789 in the URL
3
Your Ad Account ID is act_123456789 (with the act_ prefix)
Alternative: Ads Manager → top-left dropdown → hover your account → the number shown is your Account ID
Part B — Create a long-lived Access Token
System User tokens never expire. This is the recommended approach (personal tokens expire in 60 days).
2
Left sidebar: UsersSystem Users
3
Click "Add" → Name: BossHorn Dashboard, Role: Admin → Create
4
Click "Add Assets" → select Ad Accounts tab → check your BossHorn ad account → toggle Full Control → Save
5
Click "Generate New Token" → select any App (or create one at developers.facebook.com first)
6
Check these permissions:
ads_read read_insights business_management (optional)
7
Click "Generate Token"copy the token immediately (it won't be shown again!)
The token starts with EAAxxxxxxx... and is usually 150-200 characters long
Alternative — Quick Token (expires in 2 months)
2
Top-right: select your App (or create a new "Business" app)
3
Click "Generate Access Token" → check ads_read and read_insights
4
Copy the generated token
Warning: This token expires in ~60 days. You'll need to regenerate it.
Part C — Add credentials to the dashboard
1
Send me these two values (paste in chat):
# Your access token:
FB_ACCESS_TOKEN=EAAxxxxx...
# Your ad account ID:
FB_AD_ACCOUNT_ID=act_123456789
2
I'll configure the server and restart the dashboard — data will appear here automatically
FB Ads data unavailable— GA & Shopify data shown below
FB Reported
GA Tracked
Shopify Confirmed
FB Inflation
Real ROAS
vs FB

Facebook Purchases: 3-Way Comparison

FB Ads Reported
Google Analytics (FB sessions)
Shopify (first-touch)

Shopify Attribution Models

First-Touch
Last-Touch
Any-Touch

Campaign Reconciliation

3-way comparison: FB Ads reported vs GA tracked vs Shopify confirmed. Matching via UTM parameters from ad URLs.

Campaign Match Spend FB Purch. GA Purch. GA Rev. Shopify FB ROAS Real ROAS Real Rev. Inflation
TOTAL

GA Campaign Breakdown

All campaigns tracked by Google Analytics with purchases (sessionCampaignName)

GA Campaign Source / Medium Sessions Purchases Conv. %

GA Purchases by Source

Google Analytics ecommercePurchases vs Shopify confirmed orders by traffic source

Source / Medium GA Sessions GA Purchases GA Conv. % Shopify Orders Shopify Revenue

GA Purchases by Channel

Channel Sessions Purchases Conv. % Bounce

GA: Facebook/Instagram Sources Detail

Source / Medium Sessions Purchases Conv. %

How each platform counts

Facebook Ads
Counts view-through (saw ad, no click) + 7-day click window
Cross-device tracking via FB login
Same purchase can be counted by multiple campaigns
Typically inflates 30-80%
Google Analytics
Tracks purchase events fired on checkout
Session-based, last-click attribution by default
Can miss purchases if pixel doesn't fire
Usually close to Shopify, may under-count
Shopify
Real orders from the database (ground truth)
First/last visit attribution via customerJourneySummary
~15-20% of orders have no attribution data
Most reliable, conservative count

Purchase Funnel by Source

Sessions → Add to Cart → Checkout → Purchase drop-off by traffic source

Source Sessions ATC ATC % Checkout Purchases Conv % Revenue

Transaction-Level Reconciliation

GA transactions: Matched to Shopify: Source mismatch: Match rate:
Transaction ID GA Source GA Revenue Shopify Order Shopify Source Match Days to Conv.

Multi-Touch Attribution

How users were acquired (first touch) vs where they converted (session). Highlights cross-channel paths.

Same-source conversions: Cross-channel conversions: Cross-channel rate:
Acquired By (first touch) Converted In (session) Purchases Revenue Type

Landing Page Efficiency

Clean URLs (no query strings). Red = high traffic, low conversion. Green = efficient.

Landing Page Sessions ATC Purchases Conv % Revenue Bounce

Best Hours & Days for Purchases

Heatmap: darker green = more purchases. Hours in UTC (subtract 4-5h for ET).

Day Total
Total
Revenue
Prev:
Orders
Prev:
Sessions
Prev:
Conv. Rate
Prev:

Revenue by Day