زیرساخت جدید اسکریپتهای Google Ads بر اساس Google Ads API است. به دلیل معماری متفاوت آن API، ممکن است لازم باشد اسکریپت های موجود خود را به روز کنید. ما تمام تلاش خود را برای اطمینان از سازگاری هرچه بیشتر عقب مانده انجام داده ایم، بنابراین این تغییرات باید جزئی باشند.
گزارش ها
بسیاری از گزارش های AWQL به کار خود ادامه خواهند داد. در پشت صحنه، هنگام استفاده از زیرساخت جدید، اسکریپت ها پرس و جوی AWQL شما را به GAQL (زبان پرس و جو جدید برای Google Ads API) تبدیل می کنند، آن را در برابر باطن جدید اجرا می کنند و سپس نتایج را به فرمتی که در ابتدا توسط AWQL استفاده می شد تبدیل می کنند. گزارش می دهد. پرسوجوهایی با GAQL همانطور که هست ارسال میشوند.
به دلیل این سربار، توصیه میکنیم اسکریپتهای خود را مرور کنید و پرسوجوهای AWQL را تا حد امکان به GAQL بهروزرسانی کنید. شما می توانید از ابزار مهاجرت پرس و جو استفاده کنید که از همان منطق اسکریپت ها برای تعیین کوئری GAQL برای یک پرس و جوی AWQL معین استفاده می کند، یا می توانید از سازنده پرس و جو تعاملی برای کمک به ساخت پرس و جوها استفاده کنید.
در اینجا چند محدودیت برای ترجمه خودکار AWQL به GAQL وجود دارد:
- همه پرس و جوهای AWQL به طور واضح به جستارهای GAQL ترجمه نمی شوند. در این موارد، یک پیغام خطایی با جزئیاتی در مورد آنچه اشتباه رخ داده است ثبت می شود تا به شما در رفع دستی آنها کمک کند.
- همه انواع گزارش از AWQL در GAQL پشتیبانی نمی شوند.
- GAQL هیچ پشتیبانی از "ردیف های نمایش صفر" ندارد. مشخص کردن اینکه یک گزارش باید شامل صفر باشد منجر به خطا می شود.
- برخی از فیلدهای مبهم را نمی توان در فیلترها استفاده کرد. به عنوان مثال، "سرفصل" می تواند به هر تعداد از فیلدهای تبلیغاتی مختلف اشاره کند.
- برخی از فیلدها ممکن است نتایج را در قالب متفاوتی برگردانند، به عنوان مثال، یک نتیجه را به چندین ستون تقسیم می کنند.
سازماندهی انتخاب کنندگان
هنگام واکشی منابع با استفاده از اسکریپت ها، استفاده از فراخوانی های withCondition
و orderBy
برای محدود کردن یا ترتیب دادن نتایج در تکرارکننده نسبتاً معمول است. فیلدهای این تماسها اکنون از نامهای جدید Google Ads API استفاده میکنند. به عنوان مثال، برای فیلتر کردن بر اساس نام کمپین، قبلاً از موارد زیر استفاده میکردید:
.withCondition('CampaignName = "SOME_CAMPAIGN_NAME"')
اکنون، هر جا که ممکن است باید از نام فیلدهای جدید برای این شرایط استفاده کنید:
.withCondition('campaign.name = "SOME_CAMPAIGN_NAME"')
با این اوصاف، ما تلاش کردهایم تا نگاشت نامهای قدیمی را به نامهای جدید اضافه کنیم، بنابراین اگر اسکریپت شما همچنان از CampaignName
استفاده میکند، در زمان اجرا به طور خودکار با campaign.name
جایگزین میشود تا مطمئن شویم اسکریپت همچنان کار میکند. اگر با نامهای سبک قدیمی به مشکل برخوردید، اسکریپتهای خود را بهروزرسانی کنید تا از نامهای سبک جدید به عنوان اولین مرحله عیبیابی استفاده کنید.
محدودیت ها
بسیاری از محدودیت ها مانند زیرساخت های قدیمی هستند و تغییرات ایجاد شده در اینجا به طور کلی به افزایش عملکرد کمک می کند.
- محدودیت های زمانی یکسان است. یک اسکریپت ممکن است به مدت 30 دقیقه اجرا شود.
- یک تکرار کننده به طور پیش فرض 50000 موجودیت را برمی گرداند، اما می توان آن را نادیده گرفت. قبلاً این محدودیت 50000 قابل سفارشی سازی نبود.
- یک انتخابگر می تواند حداکثر 10000 شناسه (بدون تغییر) را مدیریت کند.
- زیرساخت جدید محدودیتی در تعداد موجودیت هایی که می توانند در یک اسکریپت پردازش شوند، ندارد. قبلا محدودیت 250000 بود.
- زیرساخت جدید هیچ محدودیتی در تعداد کلمات کلیدی یا تبلیغاتی که می توان در هر اجرا ایجاد کرد، ندارد. قبلا محدودیت 250000 بود.
- خروجی ورود به سیستم در 100 کیلوبایت کوتاه شده است (بدون تغییر).
- سهمیه خدمات Apps Script (SpreadsheetApp، MailApp، و غیره) بدون تغییر است.
- سهمیههای Google Ads به گونهای اعمال میشوند که گویی از API استفاده میکنید. یعنی اسکریپت شما مشمول محدودیتهای نرخ API خواهد بود، اما این امکان انعطافپذیری بیشتری را برای دسترسی به گزارشهای بیشتر یا ایجاد تغییرات بیشتر در هر اجرا فراهم میکند.
تغییرات دیگر
ExecutionInfo
دیگر getRemainingCreateQuota()
یا getRemainingGetQuota()
را نشان نمی دهد، زیرا این سهمیه ها دیگر در تجربه جدید اعمال نمی شوند.