Ghi nhật ký trong Google Ads: Cách tối ưu hoá hiệu suất và xử lý sự cố

Ghi nhật ký là một phần quan trọng trong quản lý và tối ưu hóa hoạt động của bất kỳ hệ thống nào, đặc biệt là khi làm việc với Google Ads. Tính năng ghi nhật ký không chỉ giúp bạn giám sát hiệu suất, mà còn hỗ trợ chẩn đoán và khắc phục lỗi nhanh chóng. Trong bài viết này, chúng ta sẽ khám phá cách sử dụng tính năng ghi nhật ký của Google Ads để tăng cường hiệu quả quản lý chiến dịch và cải thiện trải nghiệm người dùng.

Tính năng ghi nhật ký và giám sát hoạt động là công cụ thiết yếu để bạn nắm bắt hiệu suất của ứng dụng, đồng thời hỗ trợ phát hiện và xử lý sự cố hệ thống một cách hiệu quả. Việc kích hoạt nhật ký tóm tắt cho tất cả các lệnh gọi API và nhật ký chi tiết cho những lệnh gọi API không thành công sẽ giúp bạn dễ dàng cung cấp thông tin chi tiết khi cần hỗ trợ kỹ thuật.

Ghi nhật ký từ thư viện ứng dụng

Thư viện ứng dụng API của Google Ads cung cấp tính năng ghi nhật ký tích hợp, hỗ trợ nhiều nền tảng và ngôn ngữ lập trình. Để tìm hiểu chi tiết về cách triển khai ghi nhật ký phù hợp với nền tảng bạn sử dụng, hãy tham khảo tài liệu hướng dẫn dành riêng cho từng ngôn ngữ:

  • Java: Tài liệu ghi nhật ký cho Java
  • .NET: Tài liệu ghi nhật ký cho .NET
  • PHP: Tài liệu ghi nhật ký cho PHP
  • Python: Tài liệu ghi nhật ký cho Python
  • Ruby: Tài liệu ghi nhật ký cho Ruby
  • Perl: Tài liệu ghi nhật ký cho Perl

Định dạng nhật ký

Thư viện ứng dụng API Google Ads tạo ra hai loại nhật ký chính cho mỗi lệnh gọi API:

  1. Nhật ký tóm tắt: Chứa thông tin cơ bản về lệnh gọi API, phù hợp để theo dõi nhanh hiệu suất tổng quan.
  2. Nhật ký chi tiết: Bao gồm toàn bộ dữ liệu chi tiết liên quan đến lệnh gọi API, hữu ích cho việc phân tích sâu các vấn đề hoặc sự cố.

Nhật ký tóm tắt

GoogleAds.SummaryRequestLogs Warning: 1 : [2023-09-15 19:58:39Z] -
Request made: Host: , Method: /google.ads.googleads.v14.services.GoogleAdsService/SearchStream,
ClientCustomerID: 5951878031, RequestID: hELhBPNlEDd8mWYcZu7b8g,
IsFault: True, FaultMessage: Status(StatusCode="InvalidArgument",
Detail="Request contains an invalid argument.")

Nhật ký chi tiết

GoogleAds.DetailedRequestLogs Verbose: 1 : [2023-11-02 21:09:36Z] -
---------------BEGIN API CALL---------------
Request
——-

Method Name: /google.ads.googleads.v14.services.GoogleAdsService/SearchStream
Host:
Headers: {
“x-goog-api-client”: “gl-dotnet/5.0.0 gapic/17.0.1 gax/4.2.0 grpc/2.46.3 gccl/3.0.1 pb/3.21.5”,
“developer-token”: “REDACTED”,
“login-customer-id”: “1234567890”,
“x-goog-request-params”: “customer_id=4567890123”
}

{ “customerId”: “4567890123”, “query”: “SELECT ad_group_criterion.type FROM
ad_group_criterion WHERE ad_group.status IN(ENABLED, PAUSED) AND
campaign.status IN(ENABLED, PAUSED) “, “summaryRowSetting”: “NO_SUMMARY_ROW” }

Response
——–

Headers: {
“date”: “Thu, 02 Nov 2023 21:09:35 GMT”,
“alt-svc”: “h3-29=\”:443\”; ma=2592000″
}

{
“results”: [ {
“adGroupCriterion”: {
“resourceName”: “customers/4567890123/adGroupCriteria/456789456789~123456123467”,
“type”: “KEYWORD”
} }, {
“adGroupCriterion”: {
“resourceName”: “customers/4567890123/adGroupCriteria/456789456789~56789056788”,
“type”: “KEYWORD”
} } ],
“fieldMask”: “adGroupCriterion.type”, “requestId”: “VsJ4F00ew6s9heHvAJ-abw”
}
—————-END API CALL—————-

Nếu tôi không sử dụng thư viện ứng dụng thì sao?

Nếu bạn không sử dụng thư viện ứng dụng, bạn sẽ cần triển khai cơ chế ghi nhật ký tùy chỉnh để lưu trữ thông tin chi tiết liên quan đến các lệnh gọi API. Cụ thể, bạn nên ghi lại ít nhất giá trị của tiêu đề phản hồi “request-id”. Thông tin này có thể được cung cấp cho nhóm hỗ trợ kỹ thuật trong trường hợp cần thiết để xử lý sự cố.

Ghi nhật ký trên nền tảng đám mây

Bạn có thể tận dụng các công cụ ghi nhật ký và theo dõi hiệu suất cho ứng dụng của mình. Một ví dụ phổ biến là Google Cloud Logging, cho phép ghi lại các chỉ số và dữ liệu nhật ký vào dự án Google Cloud. Từ đó, bạn có thể tạo các trang tổng quan và thiết lập cảnh báo trong Google Cloud Monitoring, sử dụng dữ liệu nhật ký đã ghi để theo dõi và cải thiện hiệu suất.

Tính năng Google Cloud Logging hỗ trợ các thư viện ứng dụng API Google Ads trên hầu hết các ngôn ngữ lập trình, ngoại trừ Perl. Với các ngôn ngữ được hỗ trợ, bạn có thể tích hợp trực tiếp tính năng ghi nhật ký từ thư viện ứng dụng. Đối với các ngôn ngữ không được hỗ trợ như Perl, bạn vẫn có thể sử dụng API REST của Google Cloud Logging để ghi nhật ký.

Có nhiều cách để ghi nhật ký, từ việc sử dụng thư viện ứng dụng API Google Ads đến triển khai thủ công hoặc tận dụng các công cụ ghi nhật ký bên thứ ba. Mỗi lựa chọn đều có ưu và nhược điểm về thời gian triển khai, độ phức tạp, và hiệu suất. Bạn cần cân nhắc các yếu tố này để lựa chọn giải pháp ghi nhật ký phù hợp nhất cho dự án của mình.

Phương pháp 1: Ghi nhật ký cục bộ và đồng bộ lên đám mây qua quy trình nền

Bạn có thể định cấu hình thư viện ứng dụng API Google Ads để ghi nhật ký cục bộ vào tệp trên máy chủ. Sau khi nhật ký được lưu trữ cục bộ, bạn có thể sử dụng một quy trình nền để thu thập và gửi chúng đến Google Cloud Logging.

Tuy nhiên, phương pháp này có hạn chế lớn là các chỉ số hiệu suất như độ trễ sẽ không được ghi lại mặc định. Thư viện ứng dụng chủ yếu ghi lại thông tin từ các yêu cầu và phản hồi API. Nếu muốn bao gồm thêm các chỉ số hiệu suất, bạn cần tùy chỉnh cấu hình để ghi nhật ký đầy đủ hơn.

Phương pháp 2: Triển khai trên Google Compute Engine với trình quản lý hoạt động

Nếu ứng dụng của bạn được triển khai trên Google Compute Engine, bạn có thể dễ dàng tích hợp với Google Cloud Logging bằng cách cài đặt Ops Agent (trình tác nhân hoạt động). Trình tác nhân này không chỉ ghi nhật ký của ứng dụng mà còn gửi các chỉ số và nhật ký hệ thống mặc định đến Cloud Logging.

Đây là một giải pháp lý tưởng nếu ứng dụng của bạn đang hoạt động trong môi trường Google Cloud hoặc nếu bạn dự định di chuyển ứng dụng sang Google Cloud.

Phương pháp 3: Tích hợp ghi nhật ký trực tiếp trong mã nguồn ứng dụng

Bạn có thể triển khai tính năng ghi nhật ký trực tiếp trong mã nguồn bằng hai cách:

  1. Kết hợp chỉ số và câu lệnh ghi nhật ký trực tiếp
    Chèn các phép tính chỉ số và câu lệnh nhật ký tại các vị trí phù hợp trong mã nguồn. Phương pháp này phù hợp với các ứng dụng nhỏ, nơi khối lượng và chi phí bảo trì mã thấp.
  2. Triển khai giao diện ghi nhật ký dùng chung
    Nếu ứng dụng của bạn có thể được trừu tượng hóa thành một cấu trúc kế thừa từ một lớp cơ sở chung, bạn có thể tích hợp logic ghi nhật ký tại lớp cơ sở này. Phương pháp này giúp mã dễ bảo trì và mở rộng hơn, đặc biệt là trong các dự án lớn.

Một hạn chế của phương pháp này là bạn không thể xem nhật ký yêu cầu và phản hồi đầy đủ từ mã xử lý ứng dụng. Bạn có thể truy cập vào đối tượng yêu cầu và phản hồi đầy đủ từ trình chặn gRPC; đây là cách ghi nhật ký thư viện ứng dụng tích hợp sẵn lấy nhật ký yêu cầu và phản hồi. Trong trường hợp xảy ra lỗi, có thể có thêm thông tin trong đối tượng ngoại lệ, nhưng có ít thông tin chi tiết hơn cho các phản hồi thành công trong logic ứng dụng. Ví dụ: trong hầu hết các trường hợp, bạn không thể truy cập mã yêu cầu của một yêu cầu thành công từ các đối tượng phản hồi API Google Ads.

Phương pháp 4: Triển khai trình chặn ghi nhật ký gRPC tùy chỉnh

gRPC hỗ trợ các trình chặn một chiều và truyền trực tuyến, cho phép truy cập vào các đối tượng yêu cầu và phản hồi trong quá trình truyền tải giữa máy khách và máy chủ. Thư viện ứng dụng Google Ads API sử dụng trình chặn gRPC để tích hợp tính năng ghi nhật ký mặc định. Dựa trên cơ chế này, bạn có thể triển khai một trình chặn gRPC tùy chỉnh để thu thập dữ liệu từ yêu cầu và phản hồi, sau đó ghi nhật ký theo định dạng và vị trí mong muốn.

Không giống như một số giải pháp khác được trình bày ở đây, việc triển khai trình chặn gRPC tuỳ chỉnh cho phép bạn linh hoạt ghi lại các đối tượng yêu cầu và phản hồi trên mọi yêu cầu, đồng thời triển khai logic bổ sung để ghi lại thông tin chi tiết về yêu cầu. Ví dụ: bạn có thể tính thời gian đã trôi qua của một yêu cầu bằng cách triển khai logic tính thời gian hiệu suất trong chính trình chặn tuỳ chỉnh, sau đó ghi lại chỉ số này vào Google Cloud Logging để có thể theo dõi độ trễ trong Google Cloud Monitoring.

Trình chặn Google Cloud Logging tuỳ chỉnh trong Python

Dưới đây là một minh họa về cách xây dựng trình chặn ghi nhật ký tùy chỉnh bằng Python. Trình chặn này thu thập thông tin chi tiết từ yêu cầu và phản hồi, thêm các logic bổ sung để ghi nhận các chỉ số hiệu suất, sau đó gửi thông tin này đến Google Cloud Logging.

Mã nguồn dưới đây được thiết kế dựa trên lớp LoggingInterceptor từ thư viện API Google Ads, giúp đơn giản hóa việc triển khai.

from google.cloud import logging
from grpc import UnaryUnaryClientInterceptor, UnaryStreamClientInterceptor
class CloudLoggingInterceptor(UnaryUnaryClientInterceptor):
“””Trình chặn ghi nhật ký tùy chỉnh, gửi nhật ký đến Google Cloud Logging.”””

def __init__(self):
super().__init__()
self.logging_client = logging.Client()
self.logger = self.logging_client.logger(“google_ads_rpc_logs”)

def intercept_unary_unary(self, continuation, client_call_details, request):
“””Ghi nhận thông tin từ các yêu cầu một chiều.”””
import time
start_time = time.perf_counter()

response = continuation(client_call_details, request)
elapsed_time = (time.perf_counter() – start_time) * 1000 # Thời gian tính bằng ms

self.logger.log_struct({
“method”: client_call_details.method,
“request”: str(request),
“elapsed_time_ms”: elapsed_time,
“response”: str(response.result()),
}, severity=“INFO”)

return response

Tóm lại, ghi nhật ký trong Google Ads không chỉ là một công cụ hỗ trợ kỹ thuật mà còn là chìa khóa để nâng cao hiệu quả hoạt động của ứng dụng. Từ việc sử dụng thư viện ứng dụng API tích hợp sẵn đến triển khai các giải pháp ghi nhật ký tùy chỉnh, bạn có rất nhiều lựa chọn để tối ưu hóa hệ thống của mình. Hãy bắt đầu áp dụng ngay hôm nay để không bỏ lỡ bất kỳ cơ hội nào trong việc cải thiện hiệu suất và đạt được mục tiêu kinh doanh của bạn.

Facebook
X
LinkedIn
Tumblr
Threads
logo_v4seowebsite

V4SEO là đội ngũ SEO & Web xuất phát từ Nha Trang, triển khai dự án cho doanh nghiệp trên toàn quốc. Chúng tôi cung cấp Dịch vụ SEO Nha Trang theo chuẩn Google, kết hợp kỹ thuật, nội dung và entity để tăng trưởng bền vững. Song song, Dịch vụ thiết kế website Nha Trang tối ưu UX, tốc độ và Core Web Vitals nhằm tối đa chuyển đổi; báo cáo minh bạch, hỗ trợ dài hạn.

Nội dung được sự cố vấn của chuyên gia SEO - Võ Quang Vinh
author-founder-v4seowebsite

Võ Quang Vinh – Chuyên gia SEO với hơn 10 năm kinh nghiệm triển khai hàng trăm dự án SEO tổng thể, từ thương mại điện tử đến dịch vụ địa phương. Từng đảm nhiệm vai trò SEO và là Keymember tại Gobranding và dân dắt đội SEO BachhoaXanh.com, anh là người đứng sau nhiều chiến dịch tăng trưởng traffic vượt bậc. Hiện tại, Vinh là người sáng lập và điều hành V4SEO, cung cấp giải pháp SEO & thiết kế website chuẩn UX/UI giúp doanh nghiệp bứt phá thứ hạng Google và tối ưu chuyển đổi. 

Bài viết liên quan
ĐĂNG KÝ V4SEO NGAY HÔM NAY KHUYẾN MÃI 15% TẤT CẢ DỊCH VỤ ÁP DỤNG TỚI HẾT THÁNG 12/2025

Nhận tư vấn từ V4SEO Đăng ký ngay hôm nay Bứt phá trong mai sau