Facebook Page Insight
Phần hướng dẫn tạo source data từ Facebook Page Insight này sẽ bao gồm hai phần:
- Hướng dẫn thiết lập Source từ Facebook Page Insight.
- Hướng dẫn điền các trường thông tin khi setup Connection với Source là từ Facebook Page Insight
Phần 1: Hướng dẫn thiết lập Source từ Facebook Page Insight
Sau khi đã thao tác các bước nền là chọn source và vào được trang setup source chi tiết, bạn tiến hành thao tác điền các trường thông tin cần thiết như hướng dẫn dưới đây. Hướng dẫn các bước nền để tạo source trên Elton bạn có thể xem ở phần Getting Started - Mục Thiết lập Source.
Bước 1: Điền các trường thông tin cần thiết
(1) Tại giao diện setup data source của Facebook Page Insight, bạn thao tác điền các thông tin định danh cho source chuẩn bị tạo:
- Display name: Tên hiển thị của source. Elton khuyến khích bạn đặt tên có mối liên hệ với source FB Insights mà bạn sắp sửa tạo (Ví dụ: FB Page Duy Luan de thuong).
- Description: Mô tả của source
(2) Phần ghi chú của source với nội dung cho bi ết rằng sau khi nhấn Save thì bạn sẽ còn cần một bước nữa là phân quyền (authorize) cho Elton truy cập vào source data đích của bạn. Chi tiết cách phân quyền sẽ được mô tả ở Bước 2.
(3) Sau khi hoàn tất điền các thông tin của source ở (1), bạn nhấn lưu => hệ thống sẽ đưa về trang thông tin chi tiết của source bạn vừa tạo.
Bước 2: Trao quyền từ source đã thiết lập
-
Tại trang thông tin chi tiết của source bạn vừa tạo => Nhấn chọn nút
Authorize
để tiền hành trao quyền cho phép Elton truy cập vào dữ liệu của source. -
Đối với trường hợp Source là Facebook Page Insight thì hệ thống sẽ tự động đưa bạn qua trang đăng nhập của Facebook
-
Bạn tiến hành đăng nhập với account Facebook Page của mình
- Sau khi đăng nhập thành công, Facebook sẽ yêu cầu bạn chọn các Page mà account bạn sở hữu, bạn thao tác tick chọn các page mà bạn muốn phân quyền cho Elton
- Tiếp theo, Facebook sẽ yêu cầu bạn thao tác chọn các dữ liệu cụ thể của page để tiến hành trao quyền cho Elton
-
Để thành công trao quyền của Fb Page của bạn cho Elton, account fb cá nhân của bạn phải đảm bảo đủ quyền quản trị page, không phải dùng Business Manager. Một account có đủ quyền sẽ có các quyền như ví dụ trong hình bên dưới.
-
Cách để kiểm tra account của bạn có đủ quyền quản trị của Fb Page của bạn hay không là:
-
Tiến hành đăng nhập tài khoản Fanpage của bạn
-
Vào menu
Settings & Privacy
>Professional dashboard
>Page Access
hoặc truy cập vào link này: https://www.facebook.com/settings/?tab=profile_access
- Sau khi thực hiện trao quyền xong, hệ thống sẽ đưa bạn về tab "Data Sources", bạn sẽ thấy source mới tạo nằm ở trên đầu danh sách các source đã có, bạn thao tác nhấn chọn source và có thể xem được thông tin chi tiết của source đó
- Tại chi tiết của source, bạn có thể tao tác
edit
,delete
,disable
hoặcre-authorize
trang Facebook Page Insight như hình
Phần 2: Hướng dẫn điền các trường thông tin khi setup Connection với Source là từ Facebook Page Insight
Tại mục "Source Config" của màn hình setup chi tiết connection có source là Facebook Page Insight, các trường thông tin bạn cần điền sẽ có ý nghĩa như sau:
1. Select a Facebook Source
- Tại đây hệ thống sẽ đề xuất các source Facebook Insight mà bạn đã tạo, bạn thao tác chọn source mà bạn mong muốn connect
2. Select 1 or many pages
- Hệ thống sẽ đề xuất danh sách các page trong source facebook insight mà bạn trao quyền, bạn thao tác chọn các page.
Trong trường hợp hệ thống không tự đề xuất danh sách các page trong source, lý do có thể xuất phát từ việc bạn chưa trao quyền (authorize) source thành công. Truy cập và phần data source để tiến hành trao quyền lại.
3. ignore invalid pages
-
Trong quá trình tạo data source liên quan đến Facebook Page Insight của bạn, có khả năng một vài page đã được phân quyền trong source sẽ không đủ điều kiện (invalid) để hình thành connection. Lý do có thể tới từ việc những page đó được phân quyền không thành công hoặc page đã bị khoá trong lúc tạo connection.
-
Khi bạn bật
ignore invalid pages
, thời điểm tạo connection thì hệ thống sẽ tự động loại bỏ các page không đủ đều kiện, và tiếp tục với các page đủ điều kiện. -
Trường hợp bạn không bật
ignore invalid pages
, thời điểm bạn save connection, hệ thống sẽ tự động check và cảnh báo, cũng như yêu cầu bạn loại bỏ bằng tay những page không hợp lệ để tiếp tục tạo connection như trog hình. -
Bạn có thể thao tác click vào nút
Remove invalid pages
hoặc loại bỏ từng page một bằng cách nhấn vào nútx
trên từng page.
-
Elton khuyến khích bạn nên bật chế độ
ignore invalid pages
nhằm mục đích tạo ra connection mượt mà hơn. -
Trường hợp bạn bật chế độ
ignore invalid pages
Elton vẫn có cơ chế thông báo cho bạn biết những page nào đang không hợp lệ và sẽ được bỏ qua khi tạo connection (xem hình bên dưới).
4. Select 1 or many type of data
-
Sau khi bạn trao quyền datasource của Facebook insight thành công, hệ thống sẽ nhận diện được các bảng dữ liệu mà page của bạn đang sở hữu để đề xuất trong trường thông tin này.
-
Bạn chọn các bảng dữ liệu liên quan để thực hiện tạo kết nối và tải lên.
5. Aggregation Period
-
Aggregation Period xác định chu kỳ của dữ liệu sẽ được tổng hợp trong bảng Dữ liệu.
-
Chọn quãng thời gian mà bạn muốn dữ liệu của mình được tổng hợp.
-
Khoảng thời gian mặc định sẽ theo ngày (Day).
Mỗi kết nối chỉ được chọn 1 Aggregation Period! Nếu bạn muốn có một khoảng thời gian khác cho source Facebook Insight của mình, vui lòng tạo một kết nối khác.
6. First load - Load data since
-
Thể hiện mốc thời gian mà bạn mong muốn dữ liệu của bạn sẽ được tải lên từ lúc đó trở đi.
-
Ví dụ: Bạn chọn ngày load data là 15/10/2023 => Hệ thống sẽ sync toàn bộ dữ liệu của source FB Insight của bạn kể từ ngày 15/10/2023 đến hiện tại.
7. Incremental load - Time range to scan
-
Cách quét dữ liệu định kỳ của Elton đi theo hướng tịnh tiến (incremental) - có nghĩa là định kì hệ thống sẽ thực hiện quét dữ liệu cũ theo hướng tịnh tiến, theo một khoản thời gian được cài đặt trước, chứ không phải mỗi lần quét lại là sẽ quét lại toàn bộ dữ liệu phát sinh từ ngay đầu tiên.
-
Vì vậy,
Incremental load - Time range to scan
là số ngày mà hệ thống sẽ tiến hành scan dữ liệu từ ngày được cài đặt ở trường thông tin này tới hiện tại. -
Ví dụ: User chọn option là
last 1 day
thì hôm nay hệ thống sẽ tiến hành scan data kể từ ngày hôm qua đến hôm nay. Nếu chọnlast 7 days
thì hôm nay sẽ scan dữ liêu của 7 ngày trước đó tới hiện tại.
Phụ lục: Hướng dẫn thực hành trích xuất (query) dữ liệu từ các bảng dữ liệu đã được truyền từ source Facebook Page Insight trên Google BigQuery
-
Sau khi đã thiết lập thành công connection có source đến từ Facebook Page Insight và destination là Google BigQuery, bạn có thể tiến hành query dữ liệu của các Facebook Page của bạn trên Google BigQuery.
-
Thông thường các metrics và schema của các bảng dữ liệu đến từ source Facebook Page Insight khá tương đồng với nhau và được hệ thống tiêu chuẩn. Vì vậy, Elton cung cấp cho bạn một cậu lệnh Query mẫu đễ thực hiện trích xuất dữ liệu của connection bạn mới tạo trên Google BigQuery như sau:
WITH base_data AS (
SELECT
record_date,
page_id,
pages.name,
MAX(CASE WHEN insights.name = 'page_fans' THEN insights.value ELSE NULL END) AS page_fans,
MAX(CASE WHEN insights.name = 'page_post_engagements' THEN insights.value ELSE NULL END) AS page_post_engagements,
MAX(CASE WHEN insights.name = 'page_actions_post_reactions_total' THEN insights.value ELSE NULL END) AS page_actions_post_reactions_total,
MAX(CASE WHEN insights.name = 'page_impressions' THEN insights.value ELSE NULL END) AS page_posts_impressions,
MAX(CASE WHEN insights.name = 'page_impressions_viral' THEN insights.value ELSE NULL END) AS page_impressions_viral,
MAX(CASE WHEN insights.name = 'page_video_views' THEN insights.value ELSE NULL END) AS page_video_views,
MAX(CASE WHEN insights.name = 'page_fan_adds_unique' THEN insights.value ELSE NULL END) AS page_fan_adds_unique,
MAX(CASE WHEN insights.name = 'page_fan_removes_unique' THEN insights.value ELSE NULL END) AS page_fan_removes_unique
FROM `x-data-platform.x_facebook_fanpage_dwh.facebook_page_insights_daily` insights
LEFT JOIN `x-data-platform.x_facebook_fanpage_dwh.facebook_page_pages_info` pages ON pages.id = insights.page_id
WHERE record_date >= '2022-01-01'
GROUP BY
record_date,
page_id,
pages.name
)
SELECT
* EXCEPT (page_actions_post_reactions_total),
JSON_EXTRACT(page_actions_post_reactions_total, '$.like') AS page_actions_post_reactions_total_like,
JSON_EXTRACT(page_actions_post_reactions_total, '$.love') AS page_actions_post_reactions_total_love,
JSON_EXTRACT(page_actions_post_reactions_total, '$.wow') AS page_actions_post_reactions_total_wow,
JSON_EXTRACT(page_actions_post_reactions_total, '$.haha') AS page_actions_post_reactions_total_haha,
JSON_EXTRACT(page_actions_post_reactions_total, '$.sorry') AS page_actions_post_reactions_total_sorry,
JSON_EXTRACT(page_actions_post_reactions_total, '$.anger') AS page_actions_post_reactions_total_anger
FROM base_data
ORDER BY record_date
- Trong đó, các có 2 trường thông tin là:
-
x-data-platform.x_facebook_fanpage_dwh.facebook_page_insights_daily
-
x-data-platform.x_facebook_fanpage_dwh.facebook_page_pages_info
- Đây là hai bảng dữ liệu mà bạn cần tuỳ chỉnh cho phù hợp với cấu trúc đặt tên của connection của công ty bạn:
-
x-data-platform
: tương ứng với tênproject_id
của công ty bạn -
x_facebook_fanpage_dwh
: tương ứng với têndataset
của công ty bạn lúc bạn tạo destination tới Google BigQuery -
facebook_page_insights_daily
vàfacebook_page_pages_info
là tên của hai bảng dữ liệu bạn muốn trích xuất thông tin. tên hai bảng dữ liệu này bạn giữ nguyên không cần thay đổi.
- Bạn thao tác copy câu query ở trên và điều chỉnh
x-data-platform
vàx_facebook_fanpage_dwh
lại thành tênproject_id
và têndataset
của mình như hướng dẫn ở trên rồi tiến hành chạy thử trên Google BigQuery và xem dữ liệu nhé!
Add-on: Cách tính Billable Pipeline cho source
-
Khi sử dụng Elton, bạn sẽ được thông báo về cách mà hệ thống sẽ tính phí sử dụng dịch vụ. Cách tính hiện tại chủ yếu dựa trên số pipeline bạn tạo.
-
Tuỳ từng loại source mà cách tính số lượng pipeline giới hạn sẽ khác nhau. Để biết thêm chi tiết, bạn vui lòng tham khảo cách tính ở link ở đây.