این راهنما فهرستی از انواع مختلف کنشهای تبدیلی را که میتوانید با استفاده از Google Ads API ایجاد کنید، اطلاعاتی در مورد نحوه نگاشت آنها به رابط وب Google Ads، و یک مثال کد دقیق که نحوه ایجاد کنشهای تبدیل جدید را نشان میدهد، ارائه میکند.
برای اندازهگیری تبدیلها، یک ConversionAction
برای type
کنش تبدیلی که میخواهید ردیابی کنید، تنظیم کنید. به عنوان مثال، یک خرید آنلاین و یک تماس تلفنی به اقدامات تبدیل متفاوتی نیاز دارد.
بهترین راه برای تنظیم کنشهای تبدیل جدید در API این است که از مثال کد Add Conversion Action زیر استفاده کنید. نمونه تمام وظایف احراز هویت پسزمینه را برای شما انجام میدهد و شما را در ایجاد ConversionAction
راهنمایی میکند.
اکثر اقدامات تبدیل نیز برای ردیابی آنها به مراحل اضافی نیاز دارند. به عنوان مثال، برای ردیابی تبدیل ها در وب سایت خود، باید یک قطعه کد به نام تگ را به صفحه تبدیل وب سایت خود اضافه کنید. برای سایر الزامات اقدام تبدیل، به مقاله مرکز راهنمایی ما مراجعه کنید.
تبدیل های وب سایت
تبدیل وب سایت به شما امکان می دهد اقدامات وب سایت مانند فروش آنلاین، کلیک روی پیوند، بازدید از صفحه و ثبت نام را دنبال کنید.
برای ردیابی تبدیل ها در وب سایت خود، باید یک ConversionAction
با ConversionActionType
تنظیم شده روی WEBPAGE
ایجاد کنید و یک قطعه کد به نام تگ را به صفحه تبدیل در وب سایت خود اضافه کنید.
ConversionAction
شامل چندین نوع تبدیل وب سایت است که در API با فیلد type
در هر TagSnippet
فهرست شده در قسمت tag_snippets یک ConversionAction
متمایز می شود.
TagSnippet
کد رهگیری را ارائه می دهد که باید در وب سایت شما گنجانده شود تا اقدامات تبدیل شما را ردیابی کند. برای تبدیل کلیک بر روی وبسایت و شماره تلفن، به event_snippet
نیاز است، که باید در صفحات وب قرار گیرد که نشاندهنده یک عمل تبدیل مانند تأیید تسویه حساب یا صفحه ارسال فرم سرنخ، و global_site_tag
است که باید در هر صفحه وبسایت شما نصب شود. شما می توانید هر دوی این ویژگی ها را با ConversionActionService
بازیابی کنید. برای اطلاعات بیشتر در مورد نحوه برچسب گذاری صفحات خود ، مرکز راهنمایی ما را بررسی کنید.
جدول زیر پارامترهای API معادل را برای استفاده برای هر منبع در رابط وب Google Ads نشان می دهد:
نوع کد رهگیری | منبع تبلیغات گوگل |
---|---|
WEBPAGE | وب سایت، وب سایت (Google Analytics (GA4)) |
WEBPAGE_ONCLICK | وب سایت، وب سایت (Google Analytics (GA4)) |
CLICK_TO_CALL | شماره تلفن کلیک می کند |
--- | وب سایت (Google Analytics (UA)) |
تبدیل برنامه
تبدیل برنامه به شما امکان می دهد نصب برنامه تلفن همراه یا خرید برنامه را از فروشگاه Google Play دنبال کنید.
جدول زیر پارامترهای معادل ConversionActionType
API را برای استفاده برای هر منبع در رابط وب Google Ads نشان می دهد:
نوع اقدام تبدیل | منبع تبلیغات گوگل |
---|---|
GOOGLE_PLAY_DOWNLOAD | Google Play > Installs |
GOOGLE_PLAY_IN_APP_PURCHASE | Google Play > خریدهای درون برنامه ای |
اگر به دنبال ردیابی سایر اقدامات برنامه تلفن همراه با استفاده از ویژگی های Google Analytics 4 یا تجزیه و تحلیل برنامه های شخص ثالث هستید. به انواع اقدام تبدیل اضافی مراجعه کنید.
تبدیل تماس تلفنی
ردیابی تبدیل تماس تلفنی به شما امکان میدهد تماسهای تبلیغاتی، تماسهای با شمارهای در وبسایت خود و کلیک بر روی شمارهها را در سایتهای تلفن همراه ردیابی کنید.
جدول زیر پارامترهای معادل ConversionActionType
API را برای استفاده برای هر منبع در رابط وب Google Ads نشان می دهد:
نوع اقدام تبدیل | منبع تبلیغات گوگل |
---|---|
AD_CALL | تماسهای تبلیغاتی با استفاده از برنامههای افزودنی تماس یا تبلیغات فقط تماس |
WEBSITE_CALL | با یک شماره تلفن در وب سایت شما تماس می گیرد |
CLICK_TO_CALL | روی شماره ای در وب سایت تلفن همراه شما کلیک می کند |
نوع CLICK_TO_CALL
با نوع AD_CALL
متفاوت است زیرا تماس های تلفنی واقعی را ردیابی نمی کند. در عوض، CLICK_TO_CALL
فقط کلیکهای روی شماره تلفن را از دستگاه تلفن همراه ردیابی میکند. این زمانی مفید است که نمیتوانید از شماره فوروارد Google برای ردیابی تماسهای تلفنی استفاده کنید.
AD_CALL
یک کنش تبدیل AD_CALL
به عنوان تبدیل تماس از تبلیغات در رابط وب Google Ads ظاهر میشود. پس از ایجاد کنش تبدیل AD_CALL
خود، هنگام ایجاد CallAsset
، نام منبع آن را در قسمت call_conversion_action
مشخص کنید. داراییهای تماس به شما امکان میدهد یک شماره تلفن را مستقیماً در تبلیغات خود نشان دهید.
تماس در صورتی به عنوان تبدیل گزارش می شود که بیش از مدت زمان مشخص شده طول بکشد. پیش فرض 60 ثانیه است.
WEBSITE_CALL
یک اقدام تبدیل WEBSITE_CALL
به عنوان تماس از یک تبدیل وب سایت در رابط وب Google Ads ظاهر می شود.
برخلاف AD_CALL
، این ردیاب نیاز دارد که event_snippet
و global_site_tag
به وبسایت شما اضافه شود تا شماره بازارسال پویا Google برای ردیابی تماس در شمارههای فهرستشده در وبسایت شما بازیابی شود. علاوه بر این، باید یک دارایی تماس راهاندازی کنید و آن را در سطح مشتری، کمپین یا گروه تبلیغاتی پیوند دهید .
تبدیل های آفلاین را وارد کنید
جدول زیر پارامترهای معادل ConversionActionType
API را برای استفاده برای هر منبع در رابط وب Google Ads و پیوندی به مستندات برای هر نوع اقدام تبدیل خاص نشان می دهد:
نوع اقدام تبدیل | منبع تبلیغات گوگل | راهنمای راه اندازی API |
---|---|---|
UPLOAD_CLICKS | ردیابی تبدیل ها از کلیک ها و تبدیل های پیشرفته برای سرنخ ها | راهنمای کلیک های آپلود راهنمای تبدیل های پیشرفته برای سرنخ ها |
UPLOAD_CALLS | ردیابی تبدیل ها از تماس ها | راهنمای راه اندازی API |
STORE_SALES | ردیابی تبدیل های فروش فروشگاه | راهنمای راه اندازی API |
تبدیل های پیشرفته برای وب
تبدیلهای پیشرفته برای وب به شما این امکان را میدهد که دادههای تبدیل شخص اول را برای کنشهای تبدیل WEBPAGE
در عرض ۲۴ ساعت پس از یک رویداد تبدیل بهجای همزمان ارسال کنید. این امکان یافتن داده های شخص اول از منابع مختلف، مانند پایگاه داده مشتری یا سیستم CRM را فراهم می کند.
انواع اقدام تبدیل اضافی
Google Ads API انواع دیگری از کنشهای تبدیل را در گزارشها در دسترس قرار میدهد، اما ممکن است ایجاد یا تغییر آن کنشها را محدود یا ممنوع کند.
تبدیل SKAdNetwork
اگر کمپینهای برنامه iOS را اجرا میکنید و SKAdNetwork را پیادهسازی کردهاید، میتوانید با استفاده از منابع زیر به دادههای SKAdNetwork ارائهشده به Google در سطح Customer
و Campaign
دسترسی داشته باشید:
فیلد گزارش | توضیحات |
---|---|
metrics.sk_ad_network_installs | تعداد نصب های گزارش شده توسط اپل. این معیار را فقط می توان با هر ترکیبی از segments.sk_ad_network_conversion_value و بخش های مربوط به تاریخ تقسیم کرد. |
metrics.sk_ad_network_total_conversions | تعداد کل تبدیلها، شامل نصبها و انواع دیگر تبدیلهای گزارششده توسط اپل. این معیار را فقط میتوان توسط بخشهای مربوط به SKAdNetwork و بخشهای مربوط به تاریخ تقسیمبندی کرد. |
segments.sk_ad_network_ad_event_type | نوع رویدادی که برای یک تبدیل خاص رخ داده است. |
segments.sk_ad_network_attribution_credit | نحوه انتساب برای یک تبدیل خاص. |
segments.sk_ad_network_fine_conversion_value | ارزش یک تبدیل گزارش شده توسط اپل. این بخش را نمی توان برای معیارهای دیگری به جز اگر اپل مقدار |
segments.sk_ad_network_coarse_conversion_value | مقدار درشت برای یک تبدیل فردی. |
segments.sk_ad_network_postback_sequence_index | موقعیت بک پشت، به ترتیب، برای یک تبدیل خاص. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id | شناسه برنامه که در آن تبلیغی که باعث نصب شبکه تبلیغاتی کیت فروشگاه iOS شد نشان داده شد. |
segments.sk_ad_network_source_domain | وبسایتی که تبلیغی را که باعث نصب شبکه تبلیغاتی کیت فروشگاه iOS شد نشان داده شد. مقدار تهی به این معنی است که این بخش قابل اجرا نیست - به عنوان مثال، کمپین غیر iOS - یا در هیچ پست بک ارسال شده توسط اپل وجود نداشته است. |
segments.sk_ad_network_source_type | نوع منبعی که تبلیغی که باعث نصب شبکه تبلیغاتی کیت فروشگاه iOS شد نشان داده شد. مقدار تهی به این معنی است که این بخش قابل اجرا نیست - به عنوان مثال، کمپین غیر iOS - یا نه دامنه منبع و نه برنامه منبع در هیچ پست بک ارسال شده توسط اپل وجود ندارد. |
segments.sk_ad_network_user_type | نوع کاربری که تبدیل خاصی را ایجاد کرده است. |
segments.sk_ad_network_redistributed_fine_conversion_value | مقادیر تبدیل در این بخش شامل مقادیر تهی است که دوباره به مقادیر تبدیل توزیع شده است. این بخش مجموع مقادیر تبدیل دقیق مشاهده شده توسط اپل و مقادیر تهی مدل شده از Google را نشان می دهد. |
segments.sk_ad_network_version | نسخه API شبکه تبلیغات کیت فروشگاه iOS که استفاده شد. |
همچنین میتوانید از طریق CustomerSkAdNetworkConversionValueSchema
نگاشت ارزش تبدیل SKAdNetwork را برای مشتریان مرتبط خاص با برنامههای iOS ذخیره کنید.
نمونه کد پایتون
#!/usr/bin/env python # Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import argparse import sys from google.ads.googleads.client import GoogleAdsClient from google.ads.googleads.errors import GoogleAdsException def main(client, customer_id): """Adds a keyword plan, campaign, ad group, etc. to the customer account. Also handles errors from the API and prints them. Args: client: An initialized instance of GoogleAdsClient customer_id: A str of the customer_id to use in requests. """ res = update_skan_cv_schema( client, customer_id, "my_app_id", "account_link_id" ) print(res) def update_skan_cv_schema(client, customer_id, app_id, account_link_id): skan_service = client.get_service( "CustomerSkAdNetworkConversionValueSchemaService" ) req = client.get_type( "MutateCustomerSkAdNetworkConversionValueSchemaRequest" ) operation = client.get_type( "CustomerSkAdNetworkConversionValueSchemaOperation" ) schema_instance = client.get_type( "CustomerSkAdNetworkConversionValueSchema" ) new_schema = operation.update new_schema.resource_name = ( skan_service.customer_sk_ad_network_conversion_value_schema_path( "customer_id", "account_link_id" ) ) new_schema.schema.app_id = app_id new_schema.schema.measurement_window_hours = 48 skan_cv_mapping = ( schema_instance.SkAdNetworkConversionValueSchema.FineGrainedConversionValueMappings() ) skan_cv_mapping.fine_grained_conversion_value = 0 # 0 - 63 skan_cv_mapping.conversion_value_mapping.min_time_post_install_hours = 0 skan_cv_mapping.conversion_value_mapping.max_time_post_install_hours = 48 skan_cv_event = schema_instance.SkAdNetworkConversionValueSchema.Event() skan_cv_event.mapped_event_name = "TEST" skan_cv_event.event_revenue_value = 10 skan_cv_mapping.conversion_value_mapping.mapped_events.append(skan_cv_event) new_schema.schema.fine_grained_conversion_value_mappings.append( skan_cv_mapping ) req.operation = operation req.customer_id = customer_id res = skan_service.mutate_customer_sk_ad_network_conversion_value_schema( req ) return res if __name__ == "__main__": # GoogleAdsClient will read the google-ads.yaml configuration file in the # home directory if none is specified. googleads_client = GoogleAdsClient.load_from_storage( version="v17" ) parser = argparse.ArgumentParser( description="Creates a keyword plan for specified customer." ) # The following argument(s) should be provided to run the example. parser.add_argument( "-c", "--customer_id", type=str, required=True, help="The Google Ads customer ID.", ) args = parser.parse_args() try: main(googleads_client, args.customer_id) except GoogleAdsException as ex: print( f'Request with ID "{ex.request_id}" failed with status ' f'"{ex.error.code().name}" and includes the following errors:' ) for error in ex.failure.errors: print(f'\tError with message "{error.message}".') if error.location: for field_path_element in error.location.field_path_elements: print(f"\t\tOn field: {field_path_element.field_name}") sys.exit(1)
گوگل آنالیتیکس
تبدیلهای یک ویژگی Google Analytics مرتبط دارای یکی از مقادیر type
زیر است:
تبدیل ویژگی GA4:
-
GOOGLE_ANALYTICS_4_CUSTOM
-
GOOGLE_ANALYTICS_4_PURCHASE
همچنین میتوانید شناسه دارایی GA4، نام دارایی و نام رویداد را از قسمت
google_analytics_4_settings
بازیابی کنید.-
تبدیل ویژگی Universal Analytics:
-
UNIVERSAL_ANALYTICS_GOAL
-
UNIVERSAL_ANALYTICS_TRANSACTION
-
می توانید تغییرات زیر را در تبدیل ویژگی GA4 ایجاد کنید:
- با تغییر فیلد
status
آن ازHIDDEN
بهENABLED
تبدیل را از دارایی GA4 خود به حساب Google Ads خود وارد کنید. - فیلدهای
primary_for_goal
وcategory
آن را تغییر دهید تا نشان دهید چگونه باید بر قیمت پیشنهادی و گزارش های Google Ads تأثیر بگذارد . -
name
یاvalue_settings
آن را بهروزرسانی کنید. - با استفاده از عملیات
remove
، تبدیل را از حساب Google Ads خود حذف کنید.
هر تلاشی برای اصلاح سایر ویژگیهای یک تبدیل GA4 وارد شده یا هر ویژگی تبدیل Universal Analytics وارد شده منجر به خطای MUTATE_NOT_ALLOWED
میشود. این تغییرات را فقط میتوانید با استفاده از رابط کاربری Google Ads انجام دهید.
Firebase و تجزیه و تحلیل برنامه های شخص ثالث
برای وارد کردن تجزیه و تحلیل برنامه های شخص ثالث یا تبدیل های Firebase ، status
ConversionAction
را با استفاده از روش mutate
ConversionActionService
از HIDDEN
به ENABLED
تغییر دهید. بهروزرسانی app_id
برای این اقدامات تبدیل پشتیبانی نمیشود.
-
FIREBASE_ANDROID_FIRST_OPEN
-
FIREBASE_ANDROID_IN_APP_PURCHASE
-
FIREBASE_ANDROID_CUSTOM
-
FIREBASE_IOS_FIRST_OPEN
-
FIREBASE_IOS_IN_APP_PURCHASE
-
FIREBASE_IOS_CUSTOM
-
THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN
-
THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE
-
THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM
-
THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN
-
THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE
-
THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM
فروش فروشگاه: آپلود به اقدام تبدیل با گزارش
اگرچه نمیتوانید اقدامات تبدیل STORE_SALES
یا STORE_SALES_DIRECT_UPLOAD
را با استفاده از Google Ads API ایجاد کنید، API از بارگذاری تراکنشهای فروش فروشگاه پشتیبانی میکند.
-
STORE_SALES
-
STORE_SALES_DIRECT_UPLOAD
انواع کنش تبدیل فقط خواندنی
انواع کنش تبدیل زیر در Google Ads API فقط خواندنی است و برای اهداف گزارش ارائه شده است.
-
ANDROID_APP_PRE_REGISTRATION
-
ANDROID_INSTALLS_ALL_OTHER_APPS
-
FLOODLIGHT_ACTION
-
FLOODLIGHT_TRANSACTION
-
GOOGLE_HOSTED
-
LEAD_FORM_SUBMIT
-
SALESFORCE
-
SEARCH_ADS_360
-
SMART_CAMPAIGN_AD_CLICKS_TO_CALL
-
SMART_CAMPAIGN_MAP_CLICKS_TO_CALL
-
SMART_CAMPAIGN_MAP_DIRECTIONS
-
SMART_CAMPAIGN_TRACKED_CALLS
-
STORE_VISITS
-
WEBPAGE_CODELESS
ناشناس
اگر حساب Google Ads شما شامل انواع دیگری از کنشهای تبدیل باشد، ممکن است متوجه شوید که ConversionAction.type
UNKNOWN
است، پرسوجوها و گزارشها کنشهای تبدیل را برمیگردانند. API از مدیریت این کنشهای تبدیل پشتیبانی نمیکند، اما آنها را در گزارشها برمیگرداند تا نتایج کاملی را برای معیارهای تبدیل کلیدی مانند metrics.conversions
و metrics.conversions_value
ارائه دهد.
نمونه کد
مثال کد زیر شما را در فرآیند ایجاد یک اقدام تبدیل جدید راهنمایی می کند. به طور خاص، یک عمل تبدیل با type
تنظیم شده روی UPLOAD_CLICKS
ایجاد می کند. این همان جریان رابط کاربری Google Ads است که با ایجاد یک کنش تبدیل جدید با استفاده از Import > وارد کردن دستی با استفاده از API یا آپلودها > ردیابی تبدیلها از روی کلیکها انجام میشود . همچنین category
روی DEFAULT
قرار می دهد.
تنظیمات پیش فرض زیر اعمال می شود:
Google Ads API فیلد
primary_for_goal
را بهطور خودکار تنظیم میکند، اما شما میتوانید این فیلد را به صراحت تنظیم کنید تا کنترل کنید که چگونه یک اقدام تبدیل بر گزارش و قیمتگذاری در حساب شما هنگام ترکیب با اهداف تبدیل شما تأثیر میگذارد.Google Ads API
counting_type
بهطور خودکار رویMANY_PER_CLICK
تنظیم میکند. برای جزئیات بیشتر ، درباره گزینههای شمارش تبدیل مراجعه کنید.API Google Ads با تنظیم فیلد
attribution_model_settings
روی مقدارGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
AttributionModel
، مدل انتساب را بر اساس داده تنظیم میکند.
جاوا
private void runExample(GoogleAdsClient googleAdsClient, long customerId) { // Creates a ConversionAction. ConversionAction conversionAction = ConversionAction.newBuilder() // Note that conversion action names must be unique. If a conversion action already // exists with the specified conversion_action_name the create operation will fail with // a ConversionActionError.DUPLICATE_NAME error. .setName("Earth to Mars Cruises Conversion #" + getPrintableDateTime()) .setCategory(ConversionActionCategory.DEFAULT) .setType(ConversionActionType.WEBPAGE) .setStatus(ConversionActionStatus.ENABLED) .setViewThroughLookbackWindowDays(15L) .setValueSettings( ValueSettings.newBuilder() .setDefaultValue(23.41) .setAlwaysUseDefaultValue(true) .build()) .build(); // Creates the operation. ConversionActionOperation operation = ConversionActionOperation.newBuilder().setCreate(conversionAction).build(); try (ConversionActionServiceClient conversionActionServiceClient = googleAdsClient.getLatestVersion().createConversionActionServiceClient()) { MutateConversionActionsResponse response = conversionActionServiceClient.mutateConversionActions( Long.toString(customerId), Collections.singletonList(operation)); System.out.printf("Added %d conversion actions:%n", response.getResultsCount()); for (MutateConversionActionResult result : response.getResultsList()) { System.out.printf( "New conversion action added with resource name: '%s'%n", result.getResourceName()); } } }
سی شارپ
public void Run(GoogleAdsClient client, long customerId) { // Get the ConversionActionService. ConversionActionServiceClient conversionActionService = client.GetService(Services.V17.ConversionActionService); // Note that conversion action names must be unique. // If a conversion action already exists with the specified name the create operation // will fail with a ConversionAction.DUPLICATE_NAME error. string ConversionActionName = "Earth to Mars Cruises Conversion #" + ExampleUtilities.GetRandomString(); // Add a conversion action. ConversionAction conversionAction = new ConversionAction() { Name = ConversionActionName, Category = ConversionActionCategory.Default, Type = ConversionActionType.Webpage, Status = ConversionActionStatus.Enabled, ViewThroughLookbackWindowDays = 15, ValueSettings = new ConversionAction.Types.ValueSettings() { DefaultValue = 23.41, AlwaysUseDefaultValue = true } }; // Create the operation. ConversionActionOperation operation = new ConversionActionOperation() { Create = conversionAction }; try { // Create the conversion action. MutateConversionActionsResponse response = conversionActionService.MutateConversionActions(customerId.ToString(), new ConversionActionOperation[] { operation }); // Display the results. foreach (MutateConversionActionResult newConversionAction in response.Results) { Console.WriteLine($"New conversion action with resource name = " + $"'{newConversionAction.ResourceName}' was added."); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates a conversion action. $conversionAction = new ConversionAction([ // Note that conversion action names must be unique. // If a conversion action already exists with the specified conversion_action_name // the create operation will fail with a ConversionActionError.DUPLICATE_NAME error. 'name' => 'Earth to Mars Cruises Conversion #' . Helper::getPrintableDatetime(), 'category' => ConversionActionCategory::PBDEFAULT, 'type' => ConversionActionType::WEBPAGE, 'status' => ConversionActionStatus::ENABLED, 'view_through_lookback_window_days' => 15, 'value_settings' => new ValueSettings([ 'default_value' => 23.41, 'always_use_default_value' => true ]) ]); // Creates a conversion action operation. $conversionActionOperation = new ConversionActionOperation(); $conversionActionOperation->setCreate($conversionAction); // Issues a mutate request to add the conversion action. $conversionActionServiceClient = $googleAdsClient->getConversionActionServiceClient(); $response = $conversionActionServiceClient->mutateConversionActions( MutateConversionActionsRequest::build($customerId, [$conversionActionOperation]) ); printf("Added %d conversion actions:%s", $response->getResults()->count(), PHP_EOL); foreach ($response->getResults() as $addedConversionAction) { /** @var ConversionAction $addedConversionAction */ printf( "New conversion action added with resource name: '%s'%s", $addedConversionAction->getResourceName(), PHP_EOL ); } }
پایتون
def main(client, customer_id): conversion_action_service = client.get_service("ConversionActionService") # Create the operation. conversion_action_operation = client.get_type("ConversionActionOperation") # Create conversion action. conversion_action = conversion_action_operation.create # Note that conversion action names must be unique. If a conversion action # already exists with the specified conversion_action_name, the create # operation will fail with a ConversionActionError.DUPLICATE_NAME error. conversion_action.name = f"Earth to Mars Cruises Conversion {uuid.uuid4()}" conversion_action.type_ = ( client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS ) conversion_action.category = ( client.enums.ConversionActionCategoryEnum.DEFAULT ) conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED conversion_action.view_through_lookback_window_days = 15 # Create a value settings object. value_settings = conversion_action.value_settings value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response = ( conversion_action_service.mutate_conversion_actions( customer_id=customer_id, operations=[conversion_action_operation], ) ) print( "Created conversion action " f'"{conversion_action_response.results[0].resource_name}".' )
روبی
def add_conversion_action(customer_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new # Add a conversion action. conversion_action = client.resource.conversion_action do |ca| ca.name = "Earth to Mars Cruises Conversion #{(Time.new.to_f * 100).to_i}" ca.type = :UPLOAD_CLICKS ca.category = :DEFAULT ca.status = :ENABLED ca.view_through_lookback_window_days = 15 # Create a value settings object. ca.value_settings = client.resource.value_settings do |vs| vs.default_value = 15 vs.always_use_default_value = true end end # Create the operation. conversion_action_operation = client.operation.create_resource.conversion_action(conversion_action) # Add the ad group ad. response = client.service.conversion_action.mutate_conversion_actions( customer_id: customer_id, operations: [conversion_action_operation], ) puts "New conversion action with resource name = #{response.results.first.resource_name}." end
پرل
sub add_conversion_action { my ($api_client, $customer_id) = @_; # Note that conversion action names must be unique. # If a conversion action already exists with the specified conversion_action_name, # the create operation fails with error ConversionActionError.DUPLICATE_NAME. my $conversion_action_name = "Earth to Mars Cruises Conversion #" . uniqid(); # Create a conversion action. my $conversion_action = Google::Ads::GoogleAds::V17::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V17::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V17::Services::ConversionActionService::ConversionActionOperation ->new({create => $conversion_action}); # Add the conversion action. my $conversion_actions_response = $api_client->ConversionActionService()->mutate({ customerId => $customer_id, operations => [$conversion_action_operation]}); printf "New conversion action added with resource name: '%s'.\n", $conversion_actions_response->{results}[0]{resourceName}; return 1; }
این مثال را میتوانید در پوشه بازاریابی مجدد کتابخانه مشتری و در مجموعه نمونههای کد پیدا کنید: نمونه کد اقدام تبدیل اضافه کنید .
اعتبارسنجی ها
Google Ads و Google Ads API از طیف گستردهای از اقدامات تبدیل پشتیبانی میکنند، بنابراین برخی از قوانین اعتبارسنجی بر اساس type
عملکرد متفاوت هستند.
تا حد زیادی رایج ترین خطا هنگام ایجاد یک اقدام تبدیل، DUPLICATE_NAME
است. مطمئن شوید که از یک نام منحصر به فرد برای هر اقدام تبدیل استفاده می کنید.
در اینجا چند نکته در مورد تنظیم فیلدهای ConversionAction
آورده شده است:
- همه فیلدهای enum
- تلاش برای تنظیم هر فیلد enum روی
UNKNOWN
منجر به خطایRequestError.INVALID_ENUM_VALUE
می شود. -
app_id
- ویژگی
app_id
غیرقابل تغییر است و فقط هنگام ایجاد یک تبدیل برنامه جدید قابل تنظیم است. -
attribution_model_settings
- تنظیم این گزینه روی گزینه منسوخ شده منجر به خطای
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
می شود. Google Ads فقطGOOGLE_ADS_LAST_CLICK
وGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
را پشتیبانی میکند. -
click_through_lookback_window_days
تنظیم این ویژگی روی مقداری خارج از محدوده مجاز منجر به خطای
RangeError.TOO_LOW
یاRangeError.TOO_HIGH
می شود.برای یک اقدام تبدیل
AD_CALL
یاWEBSITE_CALL
، این ویژگی باید در محدوده[1,60]
باشد. برای اکثر اقدامات تبدیل دیگر، محدوده مجاز[1,30]
است.-
include_in_conversions_metric
تنظیم این مقدار در عملیات
create
یاupdate
با خطایFieldError.IMMUTABLE_FIELD
ناموفق است. درعوض، همانگونه که در راهنمای اهداف تبدیل توضیح داده شده،primary_for_goal
را تنظیم کنید.-
phone_call_duration_seconds
تلاش برای تنظیم این ویژگی روی یک اقدام تبدیلی که برای تماس نیست، منجر به خطای
FieldError.VALUE_MUST_BE_UNSET
می شود.-
type
ویژگی
type
غیرقابل تغییر است و فقط هنگام ایجاد یک تبدیل جدید قابل تنظیم است.به روز رسانی یک اقدام تبدیل با
type
برابر باUNKNOWN
منجر به یک خطایMutateError.MUTATE_NOT_ALLOWED
می شود.-
value_settings
value_settings
برای یک اقدام تبدیلWEBSITE_CALL
یاAD_CALL
بایدalways_use_default_value
رویtrue
تنظیم شده باشد. تعیین مقدارfalse
هنگام ایجاد یا بهروزرسانی این مقدار، منجر به خطایINVALID_VALUE
میشود.-
view_through_lookback_window_days
تنظیم این ویژگی روی مقداری خارج از محدوده مجاز منجر به خطای
RangeError.TOO_LOW
یاRangeError.TOO_HIGH
می شود. برای اکثر اقدامات تبدیل، محدوده مجاز[1,30]
است.این ویژگی را نمیتوان روی کنشهای تبدیل
AD_CALL
یاWEBSITE_CALL
تنظیم کرد. تعیین یک مقدار منجر به خطایVALUE_MUST_BE_UNSET
می شود.