Thay đổi chiến lược

Hướng dẫn này sẽ được trình bày để xây dựng tương tự như các hư��ng dẫn hiện có về chiến dịch Tối đa hoá hiệu suất, giả định rằng bạn sẽ tạo toàn bộ chiến dịch theo một yêu cầu nguyên tử duy nhất, thay vì tạo từng thực thể một trong các yêu cầu riêng biệt. Điều này có nghĩa là bạn sẽ phải sử dụng các mã nhận dạng tạm thời để liên kết các tài nguyên với nhau, vì bạn sẽ không biết tên đầy đủ của tài nguyên cho đến khi nhận được phản hồi của API.

Để thực hiện việc này, bạn sẽ phải viết một số mã để đảm bảo rằng bạn không tạo bất kỳ mã tạm thời nào bị trùng lặp:

let nextId = -1;

function getNextTempId() {
    const ret = nextId;
    nextId -= 1;
    return ret;
}

Mỗi lệnh gọi liên tiếp đến getNextTempId sẽ trả về ít hơn một số so với trước đó. Vì tất cả các mã tạm thời đều phải là số âm nên hãy bắt đầu từ -1.

Với phương thức này, giờ đây bạn có thể tạo một mảng để lưu giữ tất cả thao tác:

const operations = [];

Bạn sẽ thường xuyên cần mã khách hàng cho khách hàng mà bạn đang tạo chiến dịch, vì mã này là bắt buộc trong mỗi tên tài nguyên.

const customerId = AdsApp.currentAccount().getCustomerId();

Mỗi khi muốn tạo một thao tác mới, bạn sẽ sử dụng mã tạm thời tiếp theo trong tên tài nguyên để có thể tham chiếu đến đối tượng này sau và chèn đối tượng đã tạo vào mảng:

const newOperation = {
    [OPERATION_TYPE_VARIES]: {
        create: {
            resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
            // Other fields, relevant to the resource being created.
        }
    }
}
operations.push(newOperation);

Bạn có thể đọc thêm và xem một thao tác mẫu trong tài liệu về thay đổi đối với API Google Ads REST.

Sau khi bạn đã tạo tất cả các thao tác, hãy thực thi các thao tác đó trong một lô duy nhất:

AdsApp.mutateAll(operations);