Để tạo một chiến dịch Tìm kiếm mới từ đầu, bạn phải tạo ít nhất những thành phần sau:
- Ngân sách
- Chính chiến dịch
- Một nhóm quảng cáo
- Từ khoá
- Một quảng cáo của nhóm quảng cáo có chứa một quảng cáo
Chiến dịch và ngân sách rất hữu ích khi tạo mọi loại chiến dịch, trong khi một số chế độ cài đặt trong quảng cáo của nhóm quảng cáo sẽ đặc biệt hữu ích khi tạo chiến dịch Tìm kiếm. Hãy truy cập vào Hướng dẫn về thành phần tìm kiếm để xem cách tạo thành phần bằng tập lệnh.
Hãy đảm bảo bạn đã nắm rõ chiến lược đột biến, vì hướng dẫn này sẽ chỉ cung cấp các đối tượng JavaScript được dùng trong các đột biến.
Ngân sách
Ngân sách không được dùng chung và phải có tên riêng biệt trong tài khoản của bạn. Sử dụng CampaignBudgetOperation để tạo ngân sách.
const budgetOperation = {
"campaignBudgetOperation": {
"create": {
"resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
"name": "Search campaign budget",
"amountMicros": "10000000",
"deliveryMethod": "STANDARD",
"explicitlyShared": false
}
}
}
operations.push(budgetOperation);
Chiến dịch
Chiến dịch phải tham chiếu đến một ngân sách, vì vậy, bạn sẽ cần tên tài nguyên ngân sách chính xác mà bạn đã tạo ở bước trước để xác định và sử dụng đối tượng ngân sách cụ thể đó. Sử dụng CampaignOperation. Trong ví dụ này, chúng ta cũng đặt AiMaxSetting thành NetworkSettings để bật bộ tính năng Tối đa hoá AI cho chiến dịch Tìm kiếm.
const campaignOperation = {
"campaignOperation": {
"create": {
"resourceName": `customers/${customerId}/campaigns/${getNextTempId()}`,
"name": "Search campaign",
"status": "PAUSED",
"advertisingChannelType": "SEARCH",
"campaignBudget": budgetOperation.campaignBudgetOperation.create.resourceName,
"biddingStrategyType": "MANUAL_CPC",
"startDate": "20240314",
"endDate": "20250313",
"manualCpc": {
"enhancedCpcEnabled": true
},
"aiMaxSetting": {
"enableAiMax": true
},
"networkSettings": {
"targetGoogleSearch": true,
"targetSearchNetwork": true
},
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
}
operations.push(campaignOperation);
Nhóm quảng cáo
Nhóm quảng cáo phải tham chiếu đến chiến dịch đã tạo trước đó, vì vậy, bạn sẽ cần tên tài nguyên chính xác mà bạn đã đặt ở bước trước để xác định chiến dịch đã tạo trước đó trong yêu cầu này. Bạn cũng sẽ cần một mã nhận dạng tạm thời cho chính nhóm quảng cáo. Tốt nhất là bạn nên lưu trữ mã nhận dạng này dưới dạng một biến mới để có thể sử dụng khi tạo từ khoá và quảng cáo nhóm quảng cáo. Dùng AdGroupOperation.
const adGroupId = getNextTempId();
const adGroupOperation = {
"adGroupOperation": {
"create": {
"resourceName": `customers/${customerId}/adGroups/${adGroupId}`,
"name": "Search ad group",
"status": "PAUSED",
"campaign": campaignOperation.campaignOperation.create.resourceName,
"type": "SEARCH_STANDARD"
}
}
}
operations.push(adGroupOperation);
Từ khóa
Bạn phải có từ khoá để kích hoạt quảng cáo của mình trên kết quả tìm kiếm. Các tiêu chí này được thêm vào một nhóm quảng cáo bằng cách sử dụng AdGroupCriterionOperation. Bạn cần tham chiếu đến nhóm quảng cáo đã tạo ở bước trước.
const keywordOperation = {
"adGroupCriterionOperation": {
"create": {
"adGroup": adGroupOperation.adGroupOperation.create.resourceName,
"status": "ENABLED",
"keyword": {
"text": "flowers",
"matchType": "BROAD"
}
}
}
}
operations.push(keywordOperation);
Nhóm quảng cáo có quảng cáo
Bước này sẽ tạo một quảng cáo nhóm quảng cáo, kết hợp một nhóm quảng cáo với một quảng cáo. Quảng cáo nhóm quảng cáo phải tham chiếu đến nhóm quảng cáo, vì vậy bạn sẽ cần tên tài nguyên chính xác mà bạn đã đặt ở bước trước. Bạn có thể tạo quảng cáo trong cùng một thao tác và sử dụng thành phần văn bản đã tạo trước đó hoặc tạo thành phần văn bản trong cùng một thao tác. Ví dụ minh hoạ ở đây tạo một Quảng cáo tìm kiếm thích ứng bằng cách sử dụng ResponsiveSearchAdInfo. Bạn phải tạo thành phần văn bản cho dòng tiêu đề và nội dung mô tả, như minh hoạ trong hướng dẫn về Thành phần.
Để tạo quảng cáo trong nhóm quảng cáo, hãy sử dụng AdGroupAdOperation.
const adGroupAdOperation = {
"adGroupAdOperation": {
"create": {
"resourceName": `customers/${customerId}/adGroupAds/${adGroupId}~${getNextTempId()}`,
"adGroup": adGroupOperation.adGroupOperation.create.resourceName,
"status": "PAUSED",
"ad": {
"name": "Search RSA ad",
"finalUrls": [
"http://www.example.com"
],
"responsiveSearchAd": {
"headlines": [
{
"text": textAsset.assetOperation.create.resourceName
},
{
"text": "Headline 2"
},
{
"text": "Headline 3"
}
],
"descriptions": [
{
"text": "Description 1"
},
{
"text": "Description 2"
}
]
}
}
}
}
}
operations.push(adGroupAdOperation);