Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ocular.dev/llms.txt

Use this file to discover all available pages before exploring further.

Cross-platform and device performance — for comparing Facebook, Instagram, Messenger, and Audience Network across placements and devices.
This is the richest Meta Ads data model. It carries nearly every available metric, plus exclusives like Reach, Frequency, Hook Rate, Hold Rate, and per-funnel-step cost. Start here when you don’t know which data model to pick.

What this data model represents

Grain: one row per date × ad_account × campaign × adset × ad × ad_platform × placement × impression_device. Metrics, grouped by category — every number you can compute on this data model. Expand below for examples in each.
Dimensions, grouped by category — every way you can split, filter, or group those metrics. Expand below for examples in each.
Source: Meta Ads API, daily refresh.

Slice by

Unique to this data model:
DimensionTypeValues
ad_platformStringFacebook, Instagram, Messenger, Audience Network
placementStringFeed, Stories, Reels, Right Column, In-Stream, Search Results, Marketplace, Instant Articles
impression_deviceStringMobile, Desktop, Tablet, Other
Plus the standard campaign hierarchy, time, account, and attribution dimensions — documented once on the Meta Ads Overview.
Querying all three slice-by dimensions at once is highly granular and can produce sparse rows. Start with one or two and add the third only when you need that level of detail.

Use it to answer

  • How does ROAS compare across Facebook vs. Instagram vs. Messenger vs. Audience Network?
  • Which placement × device combinations are winning, and which are losing money?
  • Does creative format need to change by platform? (vertical for Reels, square for Feed)
  • How do Hook Rate and Hold Rate vary by platform to inform video strategy?

Available metrics

Everything you can compute on this data model. Need a metric not listed? See the Meta Ads metric availability matrix.
MetricFormula
Spend & revenue
Ad SpendSum of daily spend
Conversion ValueSum of reported revenue
ROASConversion Value ÷ Ad Spend
ConversionsSum of reported orders
AOVConversion Value ÷ Conversions
Clicks & impressions
Clicks (All)Sum of clicks (inline + outbound)
ImpressionsSum of impressions
CTR (All)Clicks ÷ Impressions × 100
Outbound ClicksSum of clicks leading off Meta
Inline ClicksSum of on-platform engagement clicks
Unique ClicksAvg of deduplicated user clicks
Link Click-Through RateLink Clicks ÷ Impressions × 100
Cost efficiency
CPC (All)Ad Spend ÷ Clicks
CPMAd Spend ÷ Impressions × 1,000
CPAAd Spend ÷ Conversions
Cost Per Outbound ClickAd Spend ÷ Outbound Clicks
Cost Per Link ClickAd Spend ÷ Link Clicks
Revenue Per Link ClickConversion Value ÷ Outbound Clicks
Engagement
Landing Page ViewsSum
Post EngagementSum (reactions + comments + shares + clicks)
Inline Post EngagementSum (on-platform-only)
Page EngagementSum (Facebook Page likes, follows)
Post ReactionsSum (Like, Love, Haha, Wow, Sad, Angry)
Post SharesSum
Cost Per Post EngagementAd Spend ÷ Post Engagements
Cost Per Inline Post EngagementAd Spend ÷ Inline Post Engagements
Cost Per Page EngagementAd Spend ÷ Page Engagements
Cost Per Landing Page ViewAd Spend ÷ Landing Page Views
Conversion funnel
View ContentSum
Add to CartSum
Checkouts InitiatedSum
Add Payment InfoSum
Cost Per View ContentAd Spend ÷ View Content
Cost Per Add to CartAd Spend ÷ Add to Cart
Cost Per Checkout InitiatedAd Spend ÷ Checkouts Initiated
Cost Per Add Payment InfoAd Spend ÷ Add Payment Info
Video
Video PlaysSum
Video 25% WatchedSum
Video 50% WatchedSum
Video 75% WatchedSum
Video 100% WatchedSum
Cost Per Video PlayAd Spend ÷ Video Plays
Hook RateVideo Plays ÷ Impressions × 100
Hold RateVideo 100% ÷ Video Plays × 100
Reach & frequency
ReachSum of unique people who saw ads
FrequencyImpressions ÷ Reach
Hook Rate and Hold Rate are exclusive to this data model. If you need them at audience or creative level, derive from raw fields (video_play_actions, video_views_pct_100).
This data model exposes a near-complete raw field set (one of the richest, alongside Age & Gender):ad_spend · clicks · impressions · reported_orders · reported_revenue · unique_clicks · inline_clicks · inline_post_engagement · outbound_clicks · landing_page_views · add_to_cart · checkouts_initiated · view_content · post_engagement · page_engagement · post_reaction · add_payment_info · post_share · video_play_actions · video_view_avg_time · video_views_pct_25 · video_views_pct_50 · video_views_pct_75 · video_views_pct_100