Hello,
I have a script that retrieves account events, but the following fields are not being returned: change_event.old_resource change_event.new_resource
These fields are always empty.
Could you please tell me why this is happening?
I've attached the script below.
Thanks a lot,
Aleksy
function main() {
setCustomerAccount('472-056-4715');
var today = new Date();
var sevenDaysAgo = new Date(today.getTime() - (7 * 24 * 60 * 60 * 1000));
var startTimeString = Utilities.formatDate(sevenDaysAgo, AdsApp.currentAccount().getTimeZone(), '2025-06-01 01:01:01');
var endTimeString = Utilities.formatDate(today, AdsApp.currentAccount().getTimeZone(), '2025-06-07 01:01:01');
var query = "SELECT " +
"change_event.change_date_time, " +
"change_event.user_email, " +
"change_event.client_type, " +
"change_event.change_resource_type, " +
"change_event.resource_change_operation, " +
"change_event.changed_fields, " +
"change_event.old_resource, " +
"change_event.new_resource, " +
"change_event.change_resource_name " +
"FROM change_event " +
"WHERE change_event.change_date_time >= '" + startTimeString + "' " +
"AND change_event.change_date_time <= '" + endTimeString + "' " +
"ORDER BY change_event.change_date_time DESC " +
"LIMIT 2500";
var report = AdsApp.report(query);
var rows = report.rows();
while (rows.hasNext()) {
var row = rows.next();
while (rows.hasNext()) {
var row = rows.next();
var changeDateTime = row["change_event.change_date_time"];
var userEmail = row["change_event.user_email"];
var clientType = row["change_event.client_type"];
var changeResourceType = row["change_event.change_resource_type"];
var resourceChangeOperation = row["change_event.resource_change_operation"];
var changedFields = row["change_event.changed_fields"];
var oldResource = JSON.stringify(row["change_event.old_resource"]);
var newResource = JSON.stringify(row["change_event.new_resource"]);
var changeResourceName = row["change_event.change_resource_name"];
var changedFieldsString = JSON.stringify(changedFields);
Logger.log("changeDateTime: " + changeDateTime);
Logger.log("userEmail: " + userEmail);
Logger.log("clientType: " + clientType);
Logger.log("changeResourceType: " + changeResourceType);
Logger.log("resourceChangeOperation: " + resourceChangeOperation);
Logger.log("changedFields: " + changedFieldsString);
Logger.log("oldResource: " + oldResource);
Logger.log("newResource: " + newResource);
Logger.log("changeResourceName: " + changeResourceName);
}
}
}
function setCustomerAccount(CUSTOMER_ID) {
var TmpCustomerID = CUSTOMER_ID.replaceAll("-", "");
var CustomerAccountIterator = AdsManagerApp.accounts()
.withIds([TmpCustomerID])
.get();
if (CustomerAccountIterator.hasNext()) {
var CustomerAccount = CustomerAccountIterator.next();
AdsManagerApp.select(CustomerAccount);
Logger.log(`Select Customer Account: ${AdsApp.currentAccount().getName()} (${AdsApp.currentAccount().getCustomerId()})`);
}
}