يتعذّر تنفيذ البرنامج النصي بسبب الخطأ "Cannot find function: FUNCTION_NAME" (لم يتم العثور على الدالة: FUNCTION_NAME)
ويحدث ذلك عادةً بسبب خطأ إملائي في اسم الدالة في النص البرمجي.
تأكَّد من كتابة اسم الدالة بشكل صحيح ومن أنّ حالة الأحرف صحيحة، مثلاً: سيؤدي استخدام AdsApp.keywordz() إلى حدوث هذا الخطأ، لأنّ
keywordz ليست دالة صالحة في فئة
AdsApp.
سيتعذّر أيضًا تنفيذ AdsApp.Keywords() بسبب حالة الأحرف غير الصحيحة للدالة keywords().
تأكَّد من توفّر الدالة، مثلاً: سيتعذّر تنفيذ AdsApp.keywords().next() لأنّ AdsApp.keywords() تعرض KeywordSelector، بينما next() هي طريقة لكائن KeywordIterator.
سيكون الرمز الصحيح هو AdsApp.keywords().get().next().
يعمل النص البرمجي، ولكنّه لا ينفّذ أي إجراء
السبب الأكثر شيوعًا لهذه المشكلة هو أنّ لديك دالة تنفّذ عملية، ولكنّك لا تستدعيها من طريقة main(). يحدث ذلك عادةً عند نسخ مقتطفات من الرموز البرمجية ولصقها من مستنداتنا.
أسلوب الترميز
مقتطف الرمز
الإصدار 1 (لا يعمل)
function main() {
// Call to getCampaigns is missing, so this script does nothing.
}
function getCampaigns() {
// AdsApp.campaigns() will return all Search and Display campaigns
// that are not removed by default.
let campaignIterator = AdsApp.campaigns().get();
console.log('Total campaigns found : ' +
campaignIterator.totalNumEntities());
while (campaignIterator.hasNext()) {
let campaign = campaignIterator.next();
console.log(campaign.getName());
}
}
الإصدار 2 (لا يعمل)
function main() {
// Call to getCampaigns is missing, so this script does nothing.
function getCampaigns() {
// AdsApp.campaigns() will return all Search and Display campaigns
// that are not removed by default.
let campaignIterator = AdsApp.campaigns().get();
console.log('Total campaigns found : ' +
campaignIterator.totalNumEntities());
while (campaignIterator.hasNext()) {
let campaign = campaignIterator.next();
console.log(campaign.getName());
}
}
}
الإصدار 3 (يعمل)
function main() {
getCampaigns();
}
function getCampaigns() {
// AdsApp.campaigns() will return all Search and Display campaigns
// that are not removed by default.
let campaignIterator = AdsApp.campaigns().get();
console.log('Total campaigns found : ' +
campaignIterator.totalNumEntities());
while (campaignIterator.hasNext()) {
let campaign = campaignIterator.next();
Logger.log(campaign.getName());
}
}
تظهر لي رسالة الخطأ "Cannot find function getFinalUrl" عند ترقية نصوصي البرمجية
قد يظهر لك هذا الخطأ عند تغيير النص البرمجي ليعمل مع عناوين URL تمت ترقيتها. ويحدث ذلك عند استبدال طلبات ad.getDestinationUrl() بطلبات ad.getFinalUrl().
يشكّل getFinalUrl() جزءًا من فئة AdUrls، لذا عليك تغيير الرمز إلى ad.urls().getFinalUrl():
functionmain(){// Incorrect snippet. getFinalUrl is not a member of the Ad class.letad=AdsApp.ads().get().next();leturl=ad.getFinalUrl();// Correct snippet.letad=AdsApp.ads().get().next();leturl=ad.urls().getFinalUrl();}
لا أحصل على أي إحصاءات بشأن X
عدم توفّر البيانات لكيان معيّن أو نطاق زمني معيّن هو خطأ شائع قد يظهر لك عند تشغيل التقارير أو إجراء طلبات إحصاءات. في ما يلي بعض الإجراءات التي يمكنك تجربتها:
تحقَّق من النطاق الزمني الذي تستردّ الإحصاءات أو تُنشئ التقارير له.
إذا استرجعت إحصاءات على مستوى الحساب لبرنامج نصي في "مدير إعلانات Google" يدير حسابات بعملات مختلفة، سيتم عرض التكلفة بعملة الحساب الإداري.
قد لا تتوفّر البيانات التي تبحث عنها في "إعلانات Google" بعد. يمكنك الاطّلاع على التفاصيل في دليل حداثة البيانات.
كيف يمكنني استخدام الميزة X؟
يمكنك الاطّلاع على مقتطفات الرموز والحلول للحصول على أمثلة حول كيفية استخدام ميزة معيّنة. إذا لم تعثر على مقتطف رمز مناسب، يمكنك تقديم طلب في المنتدى.
هل ما زلت بحاجة إلى الدعم؟
إذا كنت بحاجة إلى مساعدة في مجال يمكننا تقديمها، يُرجى الانتقال إلى صفحة الحصول على المساعدة.
تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThis page addresses common Google Ads script errors and questions, focusing on general JavaScript issues and not solution-specific ones.\u003c/p\u003e\n"],["\u003cp\u003eCommon errors include misspelled function names, scripts that run but don't execute actions, and issues related to Upgraded URLs.\u003c/p\u003e\n"],["\u003cp\u003eScripts may fail to retrieve stats due to incorrect date ranges, currency mismatches in Ads Manager accounts, or Google Ads data processing delays.\u003c/p\u003e\n"],["\u003cp\u003eFor specific feature usage, refer to the provided code snippets and solutions, or request help in the forum.\u003c/p\u003e\n"],["\u003cp\u003eFor further assistance, consult the designated "Get Help" page for support resources.\u003c/p\u003e\n"]]],[],null,["# Common Issues\n\nThis is a compilation of the most common issues raised in the\n[Google Ads scripts forum](//groups.google.com/forum/#!forum/adwords-scripts).\n| **Note:** This page only lists general questions related to Scripts. If your question is specific to a [solution](/google-ads/scripts/docs/solutions), refer to the corresponding solutions page.\n\nCommon JavaScript errors\n------------------------\n\n### Script is failing with \"Cannot find function: FUNCTION_NAME\"\n\nThis is usually the result of a misspelled function name in the script.\n\n1. Check that the function name is spelled correctly and has the correct\n spelling case; e.g., `AdsApp.keywordz()` will result in this error, because\n `keywordz` is not a valid function in the\n [AdsApp](/google-ads/scripts/docs/reference/adsapp/adsapp) class.\n `AdsApp.Keywords()` will also fail due to incorrect spelling case for the\n `keywords()` function.\n\n2. Check that the function exists; e.g., `AdsApp.keywords().next()` will fail\n because\n [`AdsApp.keywords()`](/google-ads/scripts/docs/reference/adsapp/adsapp#keywords)\n returns a\n [`KeywordSelector`](/google-ads/scripts/docs/reference/adsapp/adsapp_keywordselector)\n while `next()` is a method for a [`KeywordIterator` object](/google-ads/scripts/docs/reference/adsapp/adsapp_keyworditerator).\n The correct code would be `AdsApp.keywords().get().next()`.\n\n### My script runs, but doesn't do anything\n\nThe most common reason for this issue is that you have a function that performs\nan operation, but you are not calling it from the `main()` method. This\ncommonly happens when you copy-paste\n[code snippets](/google-ads/scripts/docs/examples) from our documentation.\n\n| Coding approach | Code snippet |\n|------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Version 1 (doesn't work)** | ``` function main() { // Call to getCampaigns is missing, so this script does nothing. } function getCampaigns() { // AdsApp.campaigns() will return all Search and Display campaigns // that are not removed by default. let campaignIterator = AdsApp.campaigns().get(); console.log('Total campaigns found : ' + campaignIterator.totalNumEntities()); while (campaignIterator.hasNext()) { let campaign = campaignIterator.next(); console.log(campaign.getName()); } } ``` |\n| **Version 2 (doesn't work)** | ``` function main() { // Call to getCampaigns is missing, so this script does nothing. function getCampaigns() { // AdsApp.campaigns() will return all Search and Display campaigns // that are not removed by default. let campaignIterator = AdsApp.campaigns().get(); console.log('Total campaigns found : ' + campaignIterator.totalNumEntities()); while (campaignIterator.hasNext()) { let campaign = campaignIterator.next(); console.log(campaign.getName()); } } } ``` |\n| **Version 3 (works)** | ``` function main() { getCampaigns(); } function getCampaigns() { // AdsApp.campaigns() will return all Search and Display campaigns // that are not removed by default. let campaignIterator = AdsApp.campaigns().get(); console.log('Total campaigns found : ' + campaignIterator.totalNumEntities()); while (campaignIterator.hasNext()) { let campaign = campaignIterator.next(); Logger.log(campaign.getName()); } } ``` |\n\n### I get a \"Cannot find function getFinalUrl\" error when upgrading my scripts\n\nYou may run into this error when changing your script to work with [Upgraded\nURLs](//support.google.com/google-ads/answer/6049217). This happens when you\nreplace calls to `ad.getDestinationUrl()` with `ad.getFinalUrl()`.\n`getFinalUrl()` is part of the\n[AdUrls](/google-ads/scripts/docs/reference/adsapp/adsapp_adurls) class,\nso you'd need to change your code to `ad.urls().getFinalUrl()`: \n\n function main() {\n // Incorrect snippet. getFinalUrl is not a member of the Ad class.\n let ad = AdsApp.ads().get().next();\n let url = ad.getFinalUrl();\n\n // Correct snippet.\n let ad = AdsApp.ads().get().next();\n let url = ad.urls().getFinalUrl();\n }\n\n### I get no stats for X\n\nUnavailability of data for a particular entity or date range is a common error\nyou may encounter when running reports or making stats calls. There are several\nthings that you can try:\n\n1. Check the date range for which you are retrieving stats or running reports.\n\n2. If you retrieve account-level stats for an Ads Manager script that manages\n accounts of different currencies, you get back the cost in the currency of\n the manager account.\n\n3. Google Ads may not have the data you are looking for yet. See our\n [data freshness guide](//support.google.com/google-ads/answer/2544985) for\n details.\n\n### How do I use feature X?\n\nSee our [code snippets](/google-ads/scripts/docs/examples) and\n[solutions](/google-ads/scripts/docs/solutions) for examples of how to\nuse a particular feature. If you don't find a suitable code snippet, feel free\nto make a request in the forum.\n\n### Still need support?\n\nIf you need assistance with an area where we can help, visit the\n[Get Help](/google-ads/scripts/docs/support/get-help) page."]]