Mình sẽ hướng dẫn cách lấy dữ liệu tự động hằng ngày từ Facebook Ads miễn phí cho các bạn Marketer, Developer. Mình không chắc là nếu công ty bạn có quá nhiều quảng cáo thì có bị mất phí nhiều hơn hay không, nhưng nếu có thì mức phí sẽ cực kì thấp, đâu đó khoảng từ 1$-2$ trên 1 tháng, mức phí hiện tại của mình hằng ngày đang là 0.01đ
Một lưu ý ở đây là bạn cần phải thay đổi access_token của Facebook mỗi 2 tháng, đây là tính năng bảo mật của facebook, mình chưa nghiên cứu sâu về phần access _token
này, có cách nào dùng được thời gian dài hơn hay không, bạn nào có thì chia sẽ cho mình với nha (nhưng cá nhân mình thấy 2 tháng cho nó bảo mật, dùng được lâu quá nó không an toàn cho lắm).
1. Giới thiệu tổng quan
1.1 Kết quả đạt được
File Google Sheet ghi nhận dữ liệu Facebook Ads các tháng trong 1 năm, mỗi tháng sẽ được tách riêng thành 1 sheet như format bên dưới, mình thì cho thẳng vào Bigquqery rồi lên Chart luôn, nhưng đa số các bạn không rành SQL + Bigquery nên dùng Google Sheet cho nó dễ tiếp cận ha. Dữ liệu được cập nhật lúc x giờ hằng ngày, mỗi ngày sẽ lấy thông tin chi tiết quảng cáo từ đầu tháng đến ngày hôm qua, do hôm nay số liệu ads chưa chốt xong.
Bạn sẽ phải thay mới Token mỗi 2 tháng, hướng dẫn lấy token mình sẽ để trong phần bên dưới, phần này rất đơn giản, chỉ cần có quyền là lấy được.
1.2. Các công nghệ sẽ sử dụng
- Google Cloud Function: Công cụ của Google cho phép viết hàm trên môi trường Cloud, Miễn phí cho dưới 2 triệu lần gọi hàm trong 1 tháng, phần CPU và RAM mà Google dùng để chạy vẫn tính phí tuy nhiên cho phần lấy data từ Facebook Ads rất nhẹ nên phí rất rất nhỏ, tầm khoảng dưới 1 nghìn đồng mỗi tháng -> Mình sẽ lưu hàm lấy dữ liệu Ads ở chỗ này.
- Google Cloud Scheduler: Công cụ hẹn lịch, miễn phí 3 job/tháng, mình chỉ cần 1 job cho Facebook Ads nên cũng miễn phí luôn.
- Google Colab: Dùng để chạy Test kết quả trước khi đưa vào Cloud Function.
Bên dưới là hình thống kê job của mình chạy vào lúc 9h hằng ngày trên Google Cloud Console
1.3 Bạn cần chuẩn bị những gì
- 1 Tài khoản Facebook Business quyền quản trị: Tài khoản này sẽ dùng để tạo ứng dụng và cấp phát access token.
- Thẻ tín dụng cá nhân hoặc thẻ tín dụng của công ty đều được.
- Nâng cấp thêm quyền Apps and integrations cho tài khoản chạy quảng cáo của bạn, có thêm quyền này bạn mới tạo access_token được.
2. Các bước thực hiện
2.1 Cấu hình Facebook Developer
2.1.1 Tạo App trên Facebook Developer
Bạn có thể nhờ người có quyền admin của Facebook Business tạo một ứng dụng Facebook giúp mình, vì việc này chỉ làm có một lần thôi. Bạn sẽ thông qua ứng dụng này truy xuất vào data của facebook ads, lưu ý đây là ứng dụng sử dụng nội bộ, bạn sẽ không cần phải publish app hay trao đổi bất kì điều gì với facebook, người ngoài cũng không thấy được ứng dụng này.
Bước 1: Truy cập link https://developers.facebook.com/ và đăng nhập tài khoản Facebook, chọn mục My App bên góc phải màn hình
Bước 2: Click vào Button Create App bên góc phải, sau đó kết nối app này với tài khoản quảng cáo công ty, như mình thì mình chọn 200Lab, nếu bạn không thấy tài khoản doanh nghiệp ở mục này, thì nguyên nhân là do bạn chưa được thêm vào tài khoản business công ty.
Bước 3: Ở bước What do you want your app to do? bạn chọn Other.
Bước 4: Ở bước Select an app type bạn chọn Business.
Bước 5: Điền tên ứng dụng (VD: 200Lab Get FB Ads) , email contact sẽ tự động điền email của bạn, nhưng nếu bạn đang là marketer thì nên điền email bạn kĩ thuật hay sếp nhé.
Quay trở về trang My App bạn sẽ có kết quả như sau
2.1.2 Tạo Access Token
Access Token là một đoạn mã mà bạn phải đưa ra mỗi khi muốn lấy dữ liệu từ Facebook Ads, giúp Facebook chứng thực được bạn có quyền lấy dữ liệu đó. Lưu ý là Token này giống như chìa khóa, bất kì ai ở đâu cũng có thể dùng nó để lấy dữ liệu Ads công ty bạn, nên đừng chia sẽ nó với ai nếu như yêu cầu của họ không thỏa đáng.
Bước 1: Click vào Ứng dụng vừa mới tạo, bấm chọn mục Add Product ở menu bên trái, trên màn hình sẽ hiển thị danh sách ứng dụng, bạn hãy chọn Marketing API.
Bước 2: Cick chọn vào Marketing API bên menu trái, chọn Tool, tích chọn vào ads_read, ads_insight, ads_management, sau đó click Get Token, Token này không được lưu lại ở đâu vì lý do bảo mật nên bạn hãy copy rồi lưu ra file, các bước tiếp theo chúng ta sẽ dùng đến nó.
Mỗi 2 tháng bạn cần lặp lại bước trên, tạo 1 access_token mới và dán đè lên token cũ trong file google sheet ở hướng dẫn bên dưới
2.2 Cấu hình Google Cloud Platform (GCP)
Phần cấu hình này yêu cầu bạn phải có thẻ tín dụng, nếu thẻ của bạn chưa sử dụng dịch vụ của GCP bao giờ, họ sẽ cho bạn 300$ credit miễn phí trong vòng 90 ngày. Lưu ý:
- Nếu sử dụng Gmail doanh nghiệp để cấu hình: chi phí sẽ do doanh nghiệp chi trả, tài sản (code, thiết lập, project, ...) thuộc về account doanh nghiệp.
- Nếu sử dụng Gmail cá nhân để cấu hình: chi phí do cá nhân chi trả, tài sản (code, thiết lập, project, ...) thuộc vềaccount cá nhân.
Với Demo tại 200Lab thì mình dùng tài khoản công ty để thiết lập nha mọi người.
2.2.1 Tạo Dự án trên Google Cloud Platform (GCP)
Chúng ta sẽ tạo một dự án mới trên GCP để phục vụ việc lấy dữ liệu và sử dụng các dịch vụ của Google, giúp bạn quản lý chi phí, nguồn lực, bảo mật, ... dùng riêng cho dự án đó.
Bước 1: Truy cập vào đường link https://console.cloud.google.com/, Click vào ô bên cạnh logo Google Cloud ở góc trái, chọn New Project.
Bước 2: Điền tên dự án và chọn Create.
Bước 3: click 3 dấu gạch ở góc trái màn hình để toggle menu bên trái, chọn mục Billing, bạn sẽ thấy project này đang chưa có thông tin chi trả, bạn chọn Manage Billing Account để tạo thông tin Billing (điền thông tin thẻ tín dụng), mình nhớ hình như Google sẽ charge bạn 1$ để xác thực thẻ.
Bước 4: Bạn quay lại Mục Billing và chọn Link a Billing Account sau khi tạo xong, như mình có sẵn rồi thì mình sẽ link như hình bên dưới. Hầu như các dịch vụ của Google sẽ không thể sử dụng được nếu như project không được kết nối với Billing nào, ngay cả khi nó miễn phí.
2.2.2 Kích hoạt API
Danh sách các API bạn cần phải kích hoạt:
- Cloud Scheduler API
- Google Sheets API
- Cloud Functions API
- Identity and Access Management (IAM) API
Bước 1: Toggle menu bên góc trái và chọn API & Services -> Enabled APIs & Service
Bước 2: Chọn mục Enable APIs and Services
Bước 3: Tìm API theo danh sách bên trên và chọn Enable
2.2.3 Tạo Service Account
Service Account được dùng để truy cập vào file Google Sheet và lưu trữ dữ liệu xuống. Do việc lưu dữ liệu sẽ diễn ra tự động nên cần một Account giúp chúng ta làm việc đó.
Bước 1: Toggle menu bên trái và chọn IAM & Admin-> Service Accounts
Bước 2: Chọn +Create Service Account, bạn điền tên (VD: access-google-sheet) và chọn Done
Bước 3: Trở lại màn hình Service Account, click chọn vào Account vừa mới tạo, ở Tab Keys chọn Add Key -> Create New Key -> Create. Lúc này 1 file key sẽ được download xuống máy bạn có đuôi .json
, Đổi tên file thành key.json
, tương tự access token, không chia sẽ file này khi không cần thiết.
2.3 Tạo file Google Sheet
Tạo file Google Sheet với format như sau để lưu trữ dữ liệu, bạn nên lưu trữ file này ở nơi các bạn trong team cũng có thể truy cập được (Drive lưu trữ nội bộ).
- Tên File: Nên có chữ Facebook kèm theo năm, không bắt buộc phải đặt giống mình
- Sheet 1: Bắt buộc điền giống format bên dưới của mình, giống tên và vị trí, giá trị trong ô Token là access_token của facebook mà chúng ta generate lúc nãy, Last Run các bạn để trống
Lưu ý: File yêu cầu chỉ có 1 Sheet tên Token duy nhất
Các bạn mở file key.json
download ở bước tạo Service Account bằng notepad hay phần mềm mở file text, copy email của service account. Sau đó chia sẽ file sheet trên với quyền editor cho email này
Tới đây thì Service Account này có thể thay bạn update dữ liệu tự động được rồi
2.4 Kiểm tra kết quả bằng Google Colab
Bây giờ mình sẽ hướng dẫn các bạn kiểm tra xem đoạn code có thể chạy ra kết quả hay chưa bằng Google Colab, nếu trong quá trình thực hành có bất kì thắc mắc nào các bạn có thể nhắn tin qua telegram hoặc facebook của mình nhé
Bước 1: Truy cập đường link https://colab.research.google.com/, tạo một file Google Colab mới
Bước 2: Truy cập vào file code của mình tại đây, và copy vào file Colab của bạn
Bước 3: Thay đổi các nội dung dung sau:
- Thay
{gooogle_sheet_id}
bằng id file sheet của bạn tạo ở mục 2.3 và bỏ 2 dấu ngoặc đi, phần id này sẽ nằm trong đường link sau chữ/d/
của file sheet. - Thay
{your_act}
bằngads_account_id
của bạn và bỏ đi 2 dấu ngoặc, chữact_
giữ nguyên giúp mình. Cách để lấy như sau, bạn vào đường link https://adsmanager.facebook.com/adsmanager/manage/accounts, sau đó chọn account business công ty, vào mục Account Overview ở menu bên trái, ở trang này bạn sẽ thấy id của mình, nhớ copy số thôi đừng lấy tên nha.
Bước 4: Upload file key.json
lên google Colab, bạn chọn icon hình tập tin ở menu bên dọc trái, giữ file key và kéo thả vào khung này
Bước 5: Ở Menu ngang bên trên trong Google Colab chọn Runtime->Run All
Bước 6: Kiểm tra kết quả ở file google sheet đã tạo xem đã có data hay chưa
3. Kết luận
Ở phần sau mình sẽ hướng dẫn các bạn cách cho đoạn code này chạy tự động hằng ngày bằng Google Cloud Function và Google Cloud Scheduler miễn phí nhé, chúc mọi người có thể áp dụng thành công.
Các bài viết liên quan:
- Hướng dẫn cách lấy dữ liệu Facebook Ads Tự động Mỗi ngày Miễn phí - Phần 2
- Google Colab là gì? Hướng dẫn sử dụng Google Colab cho người mới
- Data Envelopment Analysis (DEA) là gì? Giải thích dễ hiểu
- Large Language Model là gì ? Giải thích dễ hiểu
- Data Analyst là gì? Trở thành Data Analyst cần chuẩn bị gì?
Bài viết liên quan
Database (Cơ sở dữ liệu) là gì? Những loại Database phổ biến nhất hiện nay
Sep 01, 2024 • 11 min read
Python là gì? Những đặc điểm nổi bật và Ứng dụng của Python
Aug 28, 2024 • 14 min read
Ứng dụng Hypothesis Testing - Kiểm định giả thuyết trong Y học
Jul 18, 2024 • 8 min read
Google Colab là gì? Hướng dẫn sử dụng Google Colab cho người mới
Jul 02, 2024 • 10 min read
Hướng dẫn cách lấy dữ liệu Facebook Ads Tự động Mỗi ngày Miễn phí - Phần 2
Jun 24, 2024 • 6 min read
Khám phá Time Series Analysis - Phần 2
May 21, 2024 • 10 min read