Trong quá trình quản lý tài khoản Google Ads, việc theo dõi và nắm bắt các thay đổi là vô cùng quan trọng. Sự kiện thay đổi cung cấp một cái nhìn tổng quan chi tiết về những gì đã thay đổi trong tài khoản của bạn, bao gồm cả thông tin về người thực hiện thay đổi, loại tài nguyên bị thay đổi và ứng dụng khách nào đã được sử dụng. Thông qua việc truy vấn các sự kiện thay đổi, bạn có thể nhanh chóng đồng bộ hóa dữ liệu và tối ưu hóa các chiến dịch một cách hiệu quả. Bài viết này sẽ giúp bạn hiểu rõ hơn về cách sử dụng sự kiện thay đổi trong Google Ads.
Sự kiện thay đổi cung cấp một bảng phân tích chi tiết về các thay đổi đã xảy ra trong tài khoản của bạn. Khi báo cáo về thao tác tạo, tất cả các giá trị của trường sẽ được trả về. Đối với các hoạt động cập nhật, cả giá trị mới và giá trị cũ đều được hiển thị, cung cấp cho bạn cái nhìn tổng quan rõ ràng về các thay đổi đã diễn ra.
Ngoài ra, loại khách hàng (chẳng hạn như API hoặc web) đã thực hiện thay đổi, cũng như người dùng nào đã thực hiện, cũng được hiển thị trong lịch sử thay đổi của ứng dụng web, nếu thông tin này có sẵn.
Các loại sự kiện thay đổi
Tài nguyên theo dõi như sau:
- Quảng cáo: AD
- Nhóm quảng cáo: AD_GROUP
- Loại quảng cáo của nhóm quảng cáo: AD_GROUP_AD
- Hệ số sửa đổi giá thầu của nhóm quảng cáo: AD_GROUP_BID_MODIFIER
- Tiêu chí của nhóm quảng cáo: AD_GROUP_CRITERION
- Chiến dịch: CAMPAIGN
- Ngân sách chiến dịch: CAMPAIGN_BUDGET
- Tiêu chí chiến dịch: CAMPAIGN_CRITERION
- Nguồn cấp dữ liệu của nhóm quảng cáo: AD_GROUP_FEED
- Nguồn cấp dữ liệu của chiến dịch: CAMPAIGN_FEED
- Nguồn cấp dữ liệu: FEED
- Mục nguồn cấp dữ liệu: FEED_ITEM
- Thành phần: ASSET
- Thành phần của khách hàng: CUSTOMER_ASSET
- Thành phần của chiến dịch: CAMPAIGN_ASSET
- Thành phần của nhóm quảng cáo: AD_GROUP_ASSET
Truy vấn
Danh sách thay đổi cần được lọc theo ngày, và phạm vi ngày phải nằm trong 30 ngày gần nhất. Truy vấn cũng cần chứa mệnh đề LIMIT để giới hạn kết quả tối đa là 10.000 hàng. Nếu bạn cần nhiều hơn 10.000 kết quả, hãy lưu lại dấu thời gian của mục cuối cùng trong tập hợp kết quả trả về, sau đó điều chỉnh truy vấn tiếp theo để bắt đầu từ thời điểm đó.
Một thay đổi có thể mất đến 3 phút mới được phản ánh trong sự kiện thay đổi.
Ví dụ dưới đây minh họa cách tìm nạp và xử lý các sự kiện thay đổi, bao gồm việc xác định ai đã thực hiện thay đổi, loại khách hàng họ sử dụng, cũng như các giá trị cũ và mới của từng trường trong thay đổi:
private void runExample(GoogleAdsClient googleAdsClient, long customerId) {
// Xác định truy vấn GAQL để truy xuất các sự kiện thay đổi trong 14 ngày gần nhất.
String query =
String.format(
"SELECT"
+ " change_event.resource_name,"
+ " change_event.change_date_time,"
+ " change_event.change_resource_name,"
+ " change_event.user_email,"
+ " change_event.client_type,"
+ " change_event.change_resource_type,"
+ " change_event.old_resource,"
+ " change_event.new_resource,"
+ " change_event.resource_change_operation,"
+ " change_event.changed_fields "
+ "FROM "
+ " change_event "
+ "WHERE "
+ " change_event.change_date_time <= '%s' "
+ " AND change_event.change_date_time >= '%s' "
+ "ORDER BY"
+ " change_event.change_date_time DESC "
+ "LIMIT 5",
LocalDate.now().toString("YYYY-MM-dd"),
LocalDate.now().minusDays(14).toString("YYYY-MM-dd"));// Tạo một phiên bản của GoogleAdsServiceClient.try (GoogleAdsServiceClient client =
googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) {
// Thực hiện truy vấn tìm kiếm.
SearchPagedResponse response = client.search(String.valueOf(customerId), query);
// Xử lý các hàng trong phản hồi.
for (GoogleAdsRow row : response.iterateAll()) {
ChangeEvent event = row.getChangeEvent();
// In thông tin tổng quan về sự kiện thay đổi.
System.out.printf(
“Vào ‘%s’, người dùng ‘%s’ đã sử dụng giao diện ‘%s’ để thực hiện thao tác ‘%s’ trên ‘%s’ với”
+ ” tên tài nguyên ‘%s’.%n”,
event.getChangeDateTime(),
event.getUserEmail(),
event.getClientType(),
event.getResourceChangeOperation(),
event.getChangeResourceType(),
event.getResourceName());
// In thông tin chi tiết về thao tác cập nhật và tạo mới.
if (event.getResourceChangeOperation() == ResourceChangeOperation.UPDATE
|| event.getResourceChangeOperation() == ResourceChangeOperation.CREATE) {
// Lấy thực thể đã bị thay đổi.
Optional<Message> oldResource =
getResourceByType(event.getOldResource(), event.getChangeResourceType());
Optional<Message> newResource =
getResourceByType(event.getNewResource(), event.getChangeResourceType());
// In các giá trị cũ và mới cho từng trường đã được cập nhật/tạo mới.
for (String changedPath : row.getChangeEvent().getChangedFields().getPathsList()) {
// Sử dụng tiện ích FieldMasks để lấy giá trị từ đường dẫn phân tách bằng dấu chấm.
List<? extends Object> oldValue =
oldResource.isPresent()
? FieldMasks.getFieldValue(changedPath, oldResource.get())
: Collections.emptyList();
List<? extends Object> newValue =
newResource.isPresent()
? FieldMasks.getFieldValue(changedPath, newResource.get())
: Collections.emptyList();
// In thông điệp khác nhau cho các trường hợp cập nhật và tạo mới.
if (event.getResourceChangeOperation() == ResourceChangeOperation.UPDATE) {
System.out.printf(“\t %s đã thay đổi từ %s thành %s.%n”, changedPath, oldValue, newValue);
} else if (event.getResourceChangeOperation() == ResourceChangeOperation.CREATE) {
System.out.printf(“\t %s được đặt thành %s.%n”, changedPath, newValue);
}
}
}
}
}
}
Các điểm hạn chế
Sự kiện thay đổi có thể không bao gồm tất cả các mục trong nhật ký thay đổi của web khách hàng. Để có cái nhìn tương đồng với lịch sử thay đổi, bạn nên sử dụng nút thay đổi trạng thái.
Tài nguyên sự kiện thay đổi được thiết kế để cung cấp chi tiết cụ thể về một thay đổi riêng lẻ. Bạn có thể truy xuất các thông tin như giá trị trường đã thay đổi, ai đã thực hiện thay đổi và loại ứng dụng khách nào được sử dụng. Tuy nhiên, không phải tất cả các thay đổi trong tài khoản của bạn đều có chỉ số thay đổi trong sự kiện.
Một số loại ứng dụng chính ghi lại các thay đổi để sử dụng trong sự kiện thay đổi bao gồm:
- API Google Ads
- Ứng dụng web của Google Ads
Lưu ý quan trọng: Sự kiện thay đổi có thể hiển thị các thay đổi khác so với nhật ký thay đổi trong giao diện web của Google Ads. Trang lịch sử thay đổi có thể có các logic kinh doanh và hiển thị khác nhau, dẫn đến thông tin trong đầu ra cũng có thể khác nhau.
Sự kiện thay đổi trong Google Ads không chỉ cung cấp thông tin về những thay đổi đã xảy ra, mà còn giúp bạn tối ưu hóa quy trình quản lý tài khoản. Bằng cách nắm rõ cách truy xuất và phân tích các sự kiện thay đổi, bạn có thể đảm bảo rằng các tài nguyên và chiến dịch của mình luôn được cập nhật kịp thời và chính xác. Hãy tận dụng tối đa tính năng này để quản lý hiệu quả tài khoản Google Ads của bạn và đạt được hiệu suất cao nhất cho các chiến dịch quảng cáo.
