Xài Google Apps Script hỗ trợ build dashboard về traffic
Initial Prob :
Một ngày như mọi ngày, tự dưng thấy số game mình chạy bắt đầu tăng lên. Tự dưng ngày nào cũng phải tốn thời gian vào Adwords để lấy số liệu bằng tay, hên hên xui xui có khi mất cả 30-45p, phải hôm buồn ngủ thì paste số sai rồi mãi cuối tháng mới phát hiện. Tại sao công việc cứ lặp đi lặp lại mình không để máy làm? Tại sao đã để máy làm thì không ghép luôn số tiền burn với NRU thu được để ra CPA.
Take 1:
Sử dụng Google Adwords Script để lấy dữ liệu tự động về. Cái này bây giờ nằm trong phần Bulk Operations >>> Scripts. Trong phần này :
- Duyệt qua các account đang chạy lấy thông số (Click, Imp, Cost, Conversion …)
- Sử dụng SpreadsheetApp trong đó để ghi thông số lấy được vào file Google Spreadsheet.
- Tính toán để report overview (ví dụ như tổng số tiền hôm qua burn là bao nhiêu), sau đó gửi email khi script chạy xong.
- Đặt giờ để script chạy (có thể schedule Daily, Weekly …) theo giờ mình tuỳ chọn. Mình khoái đặt lúc 5-6h gì đó cho nó … vắng.
Cuối cùng chỉ việc đơn giản sáng đi uống cf thêm 30-45p, sau đó ở quán cf mở email ra coi là thấy Overview hàng ngày (đồng thời biết luôn script có chạy hay lỗi), nếu có prob gì thì mở file ra coi là xong. Khoẻ một tập. Đừng hỏi mình code như thế nào, cứ search “Google Adwords Script”, coi ví dụ, tự vọc là được, mình không chỉ đâu lolz.
Prob nâng cấp lần 1:
Cái này chỉ chạy được với Google, vậy thì với Facebook thì sao? Team FB không đi uống cf được hả?
Take 2:
Phần này phức tạp hơn chút nhưng về cơ bản thì cùng cách thức với phía trên, chỉ khác thay vì xài Adwords Script được build sẵn trong console, giờ phải dùng ngôn ngữ lập trình bên ngoài để gọi Facebook API (bên mình xài Python cho chuẩn, ví dụ về Python với FB cũng nhiều). Nói chung là lâu lâu lại gặp vấn đề chút chút như là số lượng Account quá giới hạn cho phép, số má mỗi lần gọi lại lệch xíu và không lần nào giống số trên dashboard hết cả (!!!) nhưng về cơ bản là không có vấn đề gì (có thì cứ lên developer.facebook.com mà coi :D)
Với bạn này, chỉ lưu ý lâu lâu bạn đổi SDK một lần nên cũng mệt, không thấy số má gì phải check liền.
Prob nâng cấp lần 2 :
Giờ có FB rồi, có GG tự động rồi, làm sao gom chúng nó lại với nhau (và map nó với số NRU nữa). Không lẽ cứ sáng đi uống cf không thể coi được hết mấy số đó hay sao? Thêm một problem nữa là file của team Facebook để team Facebook coi (có nhiều thông tin chi tiết), team GG cũng để team GG coi. Còn mấy sếp, sếp của sếp cần các thông tin overview hơn là các file chi tiết của người cầm channel, vì vậy lại phải làm một cái file riêng, rất là Overview để các sếp coi.
Take 3:
Có mấy cách để làm :
- Sử dụng hàm ImportRange để Import dữ liệu từ file Google & Facebook qua file Overview. Cách này đơn giản nhưng khốn nỗi hàm ImportRange nhiều lúc bị cache, tính toán một hồi số má có khi lỗ thành lãi, lãi thành lỗ.
- Thay vì sử dụng ImportRange, viết script ngay trên Google Spreadsheet (đừng nhầm với viết trên console của Adwords lúc nãy nhé). Đang ở Google Spreadsheet thì vào trong menu Tool >>> Script Editor để thấy Script. Về cơ bản đều dùng chung một cách thức như nhau, script giống JavaScript. Cách sử dụng script để import qua lại giữa các file Google Spreadsheet sẽ đảm bảo không bị lỗi cache + xử lý dữ liệu lớn và nhanh hơn.
- Sử dụng SQL. Python xử SQL thì đẹp rồi, nhưng Adwords Script & Apps Script xử SQL cũng đẹp luôn (xài JDBC để kết nối).
Sau khi có số liệu của FB/GG rồi, chỉ việc import từ csv (cũng có thể viết script được luôn) dữ liệu NRU của các kênh vào (phần này internal sẽ phải support để có file csv này) là mình có đủ một cái dashboard overview trả lời các câu hỏi liên quan tới việc hôm qua FB tiêu bao nhiêu, GG tiêu bao nhiêu, thu được bao nhiêu NRU, giá như thế nào… (đương nhiên dashboard của mình phức tạp hơn :D, nhưng đấy là chuyện của mình).
Quan trọng nhất sau khi làm tất cả chuyện này (mỗi lần cần vọc, thường phải tập trung 3-4 ngày vì script của Google có giới hạn cho việc đọc dữ liệu, chạy quá 30p là time-out/lại phải ngồi viết multi-thread), mình có thể ngồi thêm 30-45p mỗi ngày để uống cf. Ba bốn ngày rồi xài suốt đời, sao không làm?
Quan trọng nhì, như mình đã thổ lộ trong buổi giới thiệu sách “Hiểu số để tăng số“, team có một nguyên tắc rõ ràng “Cái gì mà cứ làm đi làm lại nhiều lần, có logic rõ ràng thì cố mà làm nó tự động”. Chuyện hiểu số việc đầu tiên là phải có số đầy đủ, thế mà cứ mỗi ngày mất thời gian cả ngày để nhập số (nếu chạy nhiều game một lúc) thì sao có lúc nào mà hiểu số được?
Quảng cáo xong 😀
P/S : đang lười nên chỉ viết thôi, có mấy cái hình sẽ bổ sung sau. Cái Adwords Script này lợi hại lắm đó, mấy trò đổi ad-text lúc trời mưa, tự tăng/giảm/dừng ad nếu performance của ad không đạt như kỳ vọng đều có thể làm được hết. Làm được mấy chuyện nhỏ nhặt này đã, lúc đó hãy nói tới programatic :-s