Facebook Pixel

Hướng dẫn cách lấy dữ liệu Facebook Ads Tự động Mỗi ngày Miễn phí- Phần 1

24 Jun, 2024

Hướng dẫn cách lấy dữ liệu tự động hằng ngày từ Facebook Ads và miễn phí cho các bạn Marketer, Developer.

Hướng dẫn cách lấy dữ liệu Facebook Ads Tự động Mỗi ngày  Miễn phí- Phần 1

Mục Lục

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.

Format file kết quả

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

Thống kê số request API

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

My App - Facebook Developer

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.

Connect App

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é.

Đặt tên App

Quay trở về trang My App bạn sẽ có kết quả như sau

200 Lab App

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.

Facebook App - Add Product

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ó.

Facebook App - Generate Token

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.

Google Cloud Console - 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ẻ.

Google Cloud Console - Add Billing

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í.

Google Cloud Console - Link Billing

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

Google Cloud Console - API Service

Bước 2: Chọn mục  Enable APIs and Services

Google Cloud Console - Enable API Service

Bước 3: Tìm API theo danh sách bên trên và chọn Enable

Google Cloud Console - Search API

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

Google Cloud Console -Service Account

Bước 2: Chọn +Create Service Account, bạn điền tên (VD: access-google-sheet) và chọn Done

Google Cloud Console - Create Service Account

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.

Google Cloud Console - Create Key

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

Sheet Token - Format

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

Chia sẽ file Sheet cho Service Account

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ằng ads_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.
Ads Account ID

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

Upload Key File

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:

Bài viết liên quan

Lập trình backend expressjs

xây dựng hệ thống microservices
  • Kiến trúc Hexagonal và ứng dụngal font-
  • TypeScript: OOP và nguyên lý SOLIDal font-
  • Event-Driven Architecture, Queue & PubSubal font-
  • Basic scalable System Designal font-

Đăng ký nhận thông báo

Đừng bỏ lỡ những bài viết thú vị từ 200Lab