
Configuring Facebook Pages as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Facebook Pages option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need to authorize Nekt to access your Facebook Pages data. Click on theFacebook Authorization button and log in with your Facebook account. Grant the necessary permissions for the pages you want to extract data from. After authentication, select the specific Page for this source and define a start date for data retrieval.
The user authorizing the connection must have admin or editor access to the Page to successfully exchange the user token for a page access token.
- Page ID: The Facebook Page ID to sync data from. This field is automatically populated with the Page ID you select in the dropdown menu.
- Start Date: The earliest date from which records will be synced.
- Lookback Window: (Default: 30 days) The number of days to look back for incremental sync. Since post engagement metrics can change over time, this ensures recent data is re-fetched to capture updates.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
-
Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from Facebook Pages and their corresponding fields:Page
Page
Stream containing general information about your Facebook Page, including profile details, settings, and metadata.
| Field | Type | Description |
|---|---|---|
id | String | The Facebook page ID |
page_id | String | The Facebook page ID (duplicated for consistency) |
about | String | About information of the page |
affiliation | String | The page affiliation |
artists_we_like | String | Artists that the page likes |
attire | String | The attire information for the page |
awards | String | Awards received by the page |
band_interests | String | Band interests of the page |
band_members | String | Band members of the page |
bio | String | Biography of the page |
birthday | String | Birthday of the page |
booking_agent | String | Booking agent information |
built | String | Built date or information |
can_checkin | Boolean | Whether users can check in at this page |
can_post | Boolean | Whether users can post to this page |
category | String | The category of the page |
checkins | Integer | Number of check-ins at the page |
company_overview | String | Company overview information |
country_page_likes | Integer | Number of likes from each country |
culinary_team | String | Culinary team information |
current_location | String | Current location of the page |
description | String | Description of the page |
directed_by | String | Director information |
display_subtext | String | Display subtext of the page |
features | String | Features of the page |
followers_count | Integer | Number of followers |
founded | String | Founded date or information |
general_info | String | General information about the page |
general_manager | String | General manager information |
genre | String | Genre of the page |
global_brand_page_name | String | Global brand page name |
global_brand_root_id | String | Global brand root ID |
has_added_app | Boolean | Whether the page has added an app |
has_whatsapp_business_number | Boolean | Whether the page has a WhatsApp business number |
has_whatsapp_number | Boolean | Whether the page has a WhatsApp number |
hometown | String | Hometown of the page |
influences | String | Influences of the page |
is_chain | Boolean | Whether this is a chain page |
is_community_page | Boolean | Whether this is a community page |
is_eligible_for_branded_content | Boolean | Whether the page is eligible for branded content |
is_messenger_bot_get_started_enabled | Boolean | Whether messenger bot get started is enabled |
is_messenger_platform_bot | Boolean | Whether this is a messenger platform bot |
is_owned | Boolean | Whether the page is owned |
is_permanently_closed | Boolean | Whether the page is permanently closed |
is_published | Boolean | Whether the page is published |
is_unclaimed | Boolean | Whether the page is unclaimed |
link | String | Link to the page |
members | String | Members of the page |
merchant_review_status | String | Merchant review status |
mission | String | Mission of the page |
mpg | String | MPG information |
name | String | Name of the page |
network | String | Network information |
personal_info | String | Personal information |
personal_interests | String | Personal interests |
phone | String | Phone number of the page |
Posts
Posts
Stream containing published posts from your Facebook Page, including post content, metadata, and engagement indicators.
| Field | Type | Description |
|---|---|---|
id | String | The post ID |
page_id | String | The Facebook page ID |
allowed_advertising_objects | String | Allowed advertising objects for the post |
created_time | DateTime | The creation time of the post |
full_picture | String | The full picture URL of the post |
icon | String | The icon URL of the post |
message | String | The message text of the post |
is_eligible_for_promotion | Boolean | Whether the post is eligible for promotion |
is_expired | Boolean | Whether the post has expired |
is_hidden | Boolean | Whether the post is hidden |
is_instagram_eligible | Boolean | Whether the post is eligible for Instagram |
is_popular | Boolean | Whether the post is popular |
is_published | Boolean | Whether the post is published |
is_spherical | Boolean | Whether the post contains spherical media |
parent_id | String | The parent post ID if this is a comment |
permalink_url | String | The permanent URL of the post |
story | String | The story text of the post |
shares | Object | Share information |
shares.count | Integer | The number of shares |
subscribed | Boolean | Whether the user is subscribed to the post |
status_type | String | The status type of the post |
updated_time | DateTime | The last update time of the post |
Post Insights
Post Insights
Stream containing lifetime performance metrics for each post, including engagement, reactions, and video view statistics.
Note: This stream provides lifetime metrics for posts. Video-related metrics will only have values for video posts.
| Field | Type | Description |
|---|---|---|
page_id | String | The Facebook page ID |
post_id | String | The post ID |
post_created_time | DateTime | The post creation time |
post_clicks | Integer | Total post clicks |
post_reactions_like_total | Integer | Total like reactions |
post_reactions_love_total | Integer | Total love reactions |
post_reactions_wow_total | Integer | Total wow reactions |
post_reactions_haha_total | Integer | Total haha reactions |
post_reactions_sorry_total | Integer | Total sorry reactions |
post_reactions_anger_total | Integer | Total anger reactions |
post_video_views | Integer | Total video views |
post_video_views_unique | Integer | Unique video views |
post_video_views_organic | Integer | Organic video views |
post_video_views_organic_unique | Integer | Unique organic video views |
post_video_views_paid | Integer | Paid video views |
post_video_views_paid_unique | Integer | Unique paid video views |
post_video_views_autoplayed | Integer | Autoplayed video views |
post_video_views_clicked_to_play | Integer | Clicked-to-play video views |
post_video_views_sound_on | Integer | Video views with sound on |
post_video_view_time | Integer | Total video view time (ms) |
post_video_views_15s | Integer | 15-second video views |
post_video_views_60s_excludes_shorter | Integer | 60-second video views (excludes shorter videos) |
post_video_complete_views_organic | Integer | Organic complete video views |
post_video_complete_views_organic_unique | Integer | Unique organic complete video views |
post_video_complete_views_paid | Integer | Paid complete video views |
post_video_complete_views_paid_unique | Integer | Unique paid complete video views |
post_video_avg_time_watched | Integer | Average time watched (ms) |
post_video_length | Integer | Video length (ms) |
Post Comments
Post Comments
Stream containing comments on your Facebook Page posts, including commenter information and engagement metrics.
| Field | Type | Description |
|---|---|---|
id | String | The comment ID |
post_id | String | The parent post ID |
post_created_time | DateTime | The parent post creation time |
page_id | String | The Facebook page ID |
message | String | The comment message text |
created_time | DateTime | The comment creation time |
from | Object | The user who made the comment |
from.id | String | The commenter’s user ID |
from.name | String | The commenter’s name |
like_count | Integer | Number of likes on the comment |
comment_count | Integer | Number of replies to the comment |
is_hidden | Boolean | Whether the comment is hidden |
attachment | Object | Attachment on the comment (if any) |
attachment.type | String | The attachment type |
attachment.url | String | The attachment URL |
attachment.media | Object | Media object for the attachment |
attachment.media.image | Object | Image details |
attachment.media.image.src | String | The image source URL |
Daily Page Insights
Daily Page Insights
Stream containing daily page-level performance metrics, including views, engagement, impressions, reactions, and video statistics.
Note: This stream provides daily aggregated metrics for your entire page. Data is fetched in 3-month batches for efficient API usage.
| Field | Type | Description |
|---|---|---|
page_id | String | The Facebook page ID |
end_time | DateTime | The end time for the metric period |
page_views_total | Integer | Total page views |
page_post_engagements | Integer | Total post engagements |
page_posts_impressions | Integer | Total post impressions |
page_posts_impressions_unique | Integer | Unique post impressions |
page_posts_impressions_paid | Integer | Paid post impressions |
page_posts_impressions_paid_unique | Integer | Unique paid post impressions |
page_posts_impressions_organic | Integer | Organic post impressions |
page_posts_impressions_organic_unique | Integer | Unique organic post impressions |
page_posts_served_impressions_organic_unique | Integer | Unique organic impressions served |
page_posts_impressions_viral | Integer | Viral post impressions |
page_posts_impressions_viral_unique | Integer | Unique viral post impressions |
page_posts_impressions_nonviral | Integer | Non-viral post impressions |
page_posts_impressions_nonviral_unique | Integer | Unique non-viral post impressions |
page_actions_post_reactions_like_total | Integer | Total like reactions |
page_actions_post_reactions_love_total | Integer | Total love reactions |
page_actions_post_reactions_wow_total | Integer | Total wow reactions |
page_actions_post_reactions_haha_total | Integer | Total haha reactions |
page_actions_post_reactions_sorry_total | Integer | Total sorry reactions |
page_actions_post_reactions_anger_total | Integer | Total anger reactions |
page_actions_post_reactions_total | Object | Total reactions breakdown |
page_actions_post_reactions_total.like | Integer | Total like reactions |
page_actions_post_reactions_total.love | Integer | Total love reactions |
page_actions_post_reactions_total.wow | Integer | Total wow reactions |
page_actions_post_reactions_total.haha | Integer | Total haha reactions |
page_actions_post_reactions_total.sorry | Integer | Total sorry reactions |
page_actions_post_reactions_total.anger | Integer | Total anger reactions |
page_total_actions | Integer | Total page actions |
page_video_views | Integer | Total video views |
page_video_views_paid | Integer | Paid video views |
page_video_views_organic | Integer | Organic video views |
page_video_views_autoplayed | Integer | Autoplayed video views |
page_video_views_click_to_play | Integer | Click-to-play video views |
page_video_views_unique | Integer | Unique video views |
page_video_repeat_views | Integer | Repeat video views |
page_video_view_time | Integer | Total video view time (ms) |
page_video_complete_views_30s | Integer | 30s complete video views |
page_video_complete_views_30s_paid | Integer | Paid 30s complete video views |
page_video_complete_views_30s_organic | Integer | Organic 30s complete video views |
page_video_complete_views_30s_autoplayed | Integer | Autoplayed 30s complete video views |
page_video_complete_views_30s_click_to_play | Integer | Click-to-play 30s complete video views |
page_video_complete_views_30s_unique | Integer | Unique 30s complete video views |
page_video_complete_views_30s_repeat_views | Integer | Repeat 30s complete video views |
Reviews
Reviews
Stream containing page ratings and recommendations from users.
| Field | Type | Description |
|---|---|---|
id | String | The review ID |
page_id | String | The Facebook page ID |
created_time | DateTime | The time the review was created |
recommendation_type | String | The recommendation type (positive or negative) |
review_text | String | The content of the review |
reviewer | Object | The reviewer information |
reviewer.id | String | The Page-scoped ID of the reviewer |
reviewer.name | String | The name of the reviewer |
Stream to Endpoint Mapping
| Stream | Endpoint | Sync Type | Replication Key |
|---|---|---|---|
| Page | /{page_id} | Full Table | - |
| Posts | /{page_id}/published_posts | Incremental | created_time |
| Post Insights | /{page_id}/published_posts (with insights) | Incremental | post_created_time |
| Post Comments | /{page_id}/published_posts (with comments) | Incremental | post_created_time |
| Daily Page Insights | /{page_id}/insights | Incremental | end_time |
| Reviews | /{page_id}/ratings | Incremental | created_time |
Data Model
The following diagram illustrates the relationships between the core data streams in Facebook Pages. The arrows indicate the join keys that link the different entities.Use Cases for Data Analysis
This guide outlines valuable business intelligence use cases when consolidating Facebook Pages data, along with ready-to-use SQL queries that you can run on Explorer.Page Performance Analysis
1. Daily Page Engagement Overview
Track your page’s daily engagement metrics to understand audience interaction patterns. Business Value:- Monitor daily engagement trends
- Identify high-performing days for content strategy
- Track the balance between organic and paid reach
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
| date | page_views_total | page_post_engagements | page_posts_impressions_organic | page_posts_impressions_paid | page_actions_post_reactions_total | page_video_views |
|---|---|---|---|---|---|---|
| 2024-11-27 | 1,234 | 456 | 8,920 | 2,340 | 189 | 567 |
| 2024-11-26 | 1,156 | 398 | 7,845 | 1,890 | 167 | 423 |
| 2024-11-25 | 987 | 312 | 6,230 | 1,560 | 134 | 289 |
2. Post Performance Analysis
Analyze individual post performance to understand what content resonates with your audience. Business Value:- Identify top-performing content
- Understand reaction distribution across posts
- Optimize content strategy based on engagement data
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
| post_id | post_preview | created_time | share_count | post_clicks | post_reactions_like_total | post_reactions_love_total | post_reactions_wow_total | total_reactions |
|---|---|---|---|---|---|---|---|---|
| 123456_789 | 🎉 Exciting news! We’re launching our new… | 2024-11-25T14:30:00Z | 45 | 234 | 156 | 89 | 23 | 278 |
| 123456_790 | Thank you all for your amazing support… | 2024-11-23T10:00:00Z | 32 | 189 | 134 | 67 | 12 | 219 |
3. Comment Engagement Analysis
Analyze comment activity to understand audience engagement and sentiment. Business Value:- Monitor community engagement
- Identify posts that spark conversation
- Track response patterns and community health
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
| post_id | post_preview | created_time | total_comments | total_comment_likes | total_replies | visible_comments |
|---|---|---|---|---|---|---|
| 123456_789 | 🎉 Exciting news! We’re launching our new product line… | 2024-11-25T14:30:00Z | 89 | 234 | 45 | 87 |
| 123456_791 | What’s your favorite feature of our service? Let us know… | 2024-11-24T09:00:00Z | 67 | 156 | 23 | 65 |
4. Review Sentiment Analysis
Analyze page reviews to understand customer satisfaction and feedback trends. Business Value:- Track overall customer satisfaction
- Monitor review volume and sentiment over time
- Identify areas for improvement
SQL query
SQL query
- AWS
- GCP
Sample Result
Sample Result
| week | total_reviews | positive_reviews | negative_reviews | positive_percentage |
|---|---|---|---|---|
| 2024-11-25 | 12 | 10 | 2 | 83.33 |
| 2024-11-18 | 8 | 7 | 1 | 87.50 |
| 2024-11-11 | 15 | 12 | 3 | 80.00 |
Implementation Notes
Data Quality Considerations
- The lookback window is important for post engagement metrics, as reactions and comments can be added to posts days or weeks after publication.
- Daily Page Insights data is fetched in 3-month batches to optimize API usage and avoid rate limits.
- Post Insights metrics provide lifetime values that accumulate over time, while Daily Page Insights provide daily snapshots.
API Limits & Performance
- Facebook’s Graph API has rate limits. The connector handles pagination automatically and respects these limits.
- For pages with high post volumes, consider selecting only the streams you need to optimize extraction times.
- The
page_idfield is included in all streams to enable easy joins and filtering when you have multiple pages.