מספנות
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
השימוש ב-Builders הוא הדרך הרגילה ליצור ישויות בסקריפטים של Google Ads. הכלי Builders מאפשר לכם ליצור ישות של Google Ads באופן סינכרוני או אסינכרוני. אפשר גם לבדוק אם הפעולה הצליחה או לא, ולנקוט פעולות מתאימות בהתאם לתוצאה של הפעולה. בקטע הקוד הבא מוצג אופן יצירת מילת מפתח באמצעות כלי ליצירה.
// Retrieve your ad group.
let adGroup = AdsApp.adGroups().get().next();
// Create a keyword operation.
let keywordOperation = adGroup.newKeywordBuilder()
.withCpc(1.2)
.withText("shoes")
.withFinalUrl("http://www.example.com/shoes")
.build();
// Optional: examine the outcome. The call to isSuccessful()
// will block until the operation completes.
if (keywordOperation.isSuccessful()) {
// Get the result.
let keyword = keywordOperation.getResult();
} else {
// Handle the errors.
let errors = keywordOperation.getErrors();
}
כל ישות שאפשר ליצור באמצעות סקריפטים של Google Ads עושה זאת באמצעות תבנית הבנייה הזו.
כברירת מחדל, סקריפטים של Google Ads מבצעים את הפעולות שלהם באופן אסינכרוני. כך הסקריפטים יכולים לקבץ את הפעולות שלכם כקבוצות, ולהשיג ביצועים גבוהים. עם זאת, קריאה למתודות של Operation כמו isSuccessful()
ו-getResult()
גורמת לסקריפטים של Google Ads לנקות את רשימת הפעולות שממתינות לביצוע, ולכן עלולה להוביל לביצועים ירודים. במקום זאת, יוצרים מערך להחזקת הפעולות, ואז מבצעים איטרציה במערך הזה כדי לאחזר את התוצאות.
ביצועים נמוכים |
ביצועים טובים |
for (let i = 0; i < keywords.length; i++)
let keywordOperation = adGroup
.newKeywordBuilder()
.withText(keywords[i])
.build();
// Bad: retrieving the result in the same
// loop that creates the operation
// leads to poor performance.
let newKeyword =
keywordOperation.getResult();
newKeyword.applyLabel("New keywords");
}
|
// Create an array to hold the operations
let operations = [];
for (let i = 0; i < keywords.length; i++) {
let keywordOperation = adGroup
.newKeywordBuilder()
.withText(keywords[i])
.build();
operations.push(keywordOperation);
}
// Process the operations separately. Allows
// Google Ads scripts to group operations into
// batches.
for (let i = 0; i < operations.length; i++) {
let newKeyword = operations[i].getResult();
newKeyword.applyLabel("New keywords");
}
|
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-27 (שעון UTC).
[null,null,["עדכון אחרון: 2025-08-27 (שעון UTC)."],[[["\u003cp\u003eBuilders are the standard way to create entities in Google Ads Scripts, offering synchronous and asynchronous options with success checks.\u003c/p\u003e\n"],["\u003cp\u003eThe builder pattern is utilized for creating any entity within Google Ads scripts.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Ads scripts default to asynchronous operations for performance, but retrieving results immediately can hinder this; it's recommended to batch operations for efficiency.\u003c/p\u003e\n"],["\u003cp\u003eInstead of retrieving results directly after each operation, store operations in an array and process them separately to enhance script performance by allowing for batching.\u003c/p\u003e\n"]]],[],null,["# Builders are the standard way to create entities in Google Ads scripts. Builders allow\nyou to build a Google Ads entity either synchronously or asynchronously. You\ncan also check whether the operation was successful or not, and take\nappropriate actions depending on the operation's outcome. The following code\nsnippet shows how to create a keyword using a builder. \n\n // Retrieve your ad group.\n let adGroup = AdsApp.adGroups().get().next();\n\n // Create a keyword operation.\n let keywordOperation = adGroup.newKeywordBuilder()\n .withCpc(1.2)\n .withText(\"shoes\")\n .withFinalUrl(\"http://www.example.com/shoes\")\n .build();\n\n // Optional: examine the outcome. The call to isSuccessful()\n // will block until the operation completes.\n if (keywordOperation.isSuccessful()) {\n // Get the result.\n let keyword = keywordOperation.getResult();\n } else {\n // Handle the errors.\n let errors = keywordOperation.getErrors();\n }\n\nAny entity that can be created using Google Ads scripts does so using this builder\npattern.\n\nPerformance considerations\n--------------------------\n\nBy default, Google Ads scripts executes its operations asynchronously. This\nallows scripts to group your operations as batches, and achieve high\nperformance. However, calling the\n[Operation](/google-ads/scripts/docs/reference/adsapp/adsapp_sitelinkoperation)\nmethods like\n[`isSuccessful()`](/google-ads/scripts/docs/reference/adsapp/adsapp_sitelinkoperation#isSuccessful)\nand\n[`getResult()`](/google-ads/scripts/docs/reference/adsapp/adsapp_sitelinkoperation#getResult)\nforces Google Ads scripts to flush its pending operations list, and thus may lead to\npoor performance. Instead, create an array to hold the operations, then iterate\nthrough that array to retrieve the results.\n\n| Poor performance | Good performance |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ```transact-sql for (let i = 0; i \u003c keywords.length; i++) let keywordOperation = adGroup .newKeywordBuilder() .withText(keywords[i]) .build(); // Bad: retrieving the result in the same // loop that creates the operation // leads to poor performance. let newKeyword = keywordOperation.getResult(); newKeyword.applyLabel(\"New keywords\"); } ``` | ```transact-sql // Create an array to hold the operations let operations = []; for (let i = 0; i \u003c keywords.length; i++) { let keywordOperation = adGroup .newKeywordBuilder() .withText(keywords[i]) .build(); operations.push(keywordOperation); } // Process the operations separately. Allows // Google Ads scripts to group operations into // batches. for (let i = 0; i \u003c operations.length; i++) { let newKeyword = operations[i].getResult(); newKeyword.applyLabel(\"New keywords\"); } ``` |"]]