במדריך הזה אנחנו מפרטים את הסוגים השונים של פעולות ההמרה שאפשר להגדיר ליצור באמצעות Google Ads API, מידע על האופן שבו הם ממופים לאינטרנט של Google Ads ודוגמה מפורטת לקוד שממחישה איך ליצור פעולות המרה חדשות.
כדי למדוד המרות, צריך להגדיר
ConversionAction
עבור
type
מתוך
פעולת ההמרה שאחריה רוצים לעקוב. לדוגמה, קנייה באינטרנט וטלפון
שיחה דורשות פעולות המרה שונות.
הדרך הטובה ביותר להגדיר פעולות המרה חדשות ב-API היא להשתמש
מוסיפים דוגמה לקוד של פעולת המרה למטה. הכינויים לדוגמה
את כל משימות האימות ברקע, והסבר על תהליך היצירה
ConversionAction
.
לרוב פעולות ההמרה נדרשים גם שלבים נוספים למעקב אותם. לדוגמה, כדי לעקוב אחר המרות באתר שלך, צריך להוסיף קוד קטע הקוד שנקרא תג אל דף ההמרות באתר. לגבי פעולת המרה אחרת של הדרישות, כדאי לעיין מאמר במרכז העזרה.
המרות באתר
המרה באתר מאפשרת לכם לעקוב אחרי פעולות באתר כמו מכירות אונליין, קליקים על קישורים, צפיות בדפים והרשמות.
כדי לעקוב אחרי המרות באתר, צריך ליצור
ConversionAction
עם
ConversionActionType
מגדירים את הערך WEBPAGE
, ומוסיפים להמרה קטע קוד שנקרא תג
באתר שלכם.
ConversionAction
כולל כמה
המרות באתר, שנבדלים מה-API לפי
שדה type
בכל שדה
TagSnippet
שדה tag_snippets של
ConversionAction
.
הקוד TagSnippet
מספק את קוד המעקב שצריך
להיכלל באתר כדי לעקוב אחר פעולות ההמרה שלכם.
כדי להשתמש בהמרות מסוג אתר או קליקים על מספר טלפון,
event_snippet
,
שצריך למקם בדפי אינטרנט שמציינים פעולת המרה כמו
דף אישור תשלום או שליחת טופס להשארת פרטים,
global_site_tag
,
שצריך להתקין בכל דף באתר. אפשר לאחזר את הנתונים של
את המאפיינים האלה עם
ConversionActionService
ביצוע צ'ק-אאוט
במרכז העזרה שלנו
על האופן שבו ניתן לתייג את הדפים שלך.
בטבלה הבאה מפורטים הפרמטרים המקבילים של ה-API שבהם צריך להשתמש מקור בממשק האינטרנט של Google Ads:
סוג קוד מעקב | מקור ב-Google Ads |
---|---|
WEBPAGE |
אתר, אתר (Google Analytics (GA4)) |
WEBPAGE_ONCLICK |
אתר, אתר (Google Analytics (GA4)) |
CLICK_TO_CALL |
קליקים על מספר טלפון |
--- |
אתר (Google Analytics (UA)) |
המרות באפליקציה
המרה באפליקציה מאפשרת לכם לעקוב אחרי התקנות של אפליקציה לנייד או רכישות מתוך האפליקציה חנות Google Play.
בטבלה הבאה מפורטים הערכים המקבילים
ConversionActionType
הפרמטרים של API לשימוש בכל מקור בממשק האינטרנט של Google Ads:
סוג פעולת ההמרה | מקור ב-Google Ads |
---|---|
GOOGLE_PLAY_DOWNLOAD |
Google Play > התקנות |
GOOGLE_PLAY_IN_APP_PURCHASE |
Google Play > רכישות מתוך האפליקציה |
אם אתם רוצים לעקוב אחרי פעולות אחרות באפליקציה לנייד באמצעות Google Analytics 4 נכסים או שירותי צד שלישי לניתוח של נתוני אפליקציות. כדאי לעיין במאמר סוגים נוספים של פעולות המרה.
המרות מסוג שיחת טלפון
מעקב המרות מסוג שיחת טלפון מאפשר לעקוב אחר שיחות ממודעות, שיחות למספר שמופיע באתר קליקים על מספרים באתרים לנייד.
בטבלה הבאה מפורטים הערכים המקבילים
ConversionActionType
הפרמטרים של API לשימוש בכל מקור בממשק האינטרנט של Google Ads:
סוג פעולת ההמרה | מקור ב-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
, צריך לציין את הפעולה שלה
שם המשאב בשדה call_conversion_action
כשיוצרים
CallAsset
. שיחת טלפון
נכסים מאפשרים לכם להציג
מספר טלפון ישירות במודעות.
שיחה מדווחת כהמרה אם היא נמשכת יותר מפרק זמן מסוים. ערך ברירת המחדל הוא 60 שניות.
WEBSITE_CALL
א'
WEBSITE_CALL
פעולת המרה מופיעה בתור שיחות
באתר
ממשק האינטרנט של Google Ads.
ביטול הלייק
AD_CALL
,
למכשיר המעקב הזה נדרש event_snippet
ואת global_site_tag
נוספו אל
באתר כדי לאחזר את מספר הטלפון הדינמי של Google לניתוח נתוני שיחות והודעות לצורך מעקב אחר שיחות
למספרים שמופיעים באתר שלכם. בנוסף, צריך להגדיר שיחה
לנכס ולקשר אותו
ברמת הלקוח, הקמפיין או קבוצת המודעות.
ייבוא המרות אופליין
בטבלה הבאה מפורטים הערכים המקבילים
ConversionActionType
פרמטרים של API לשימוש בכל מקור בממשק האינטרנט של Google Ads
וקישור למסמכי התיעוד של כל סוג פעולת המרה ספציפי:
סוג פעולת ההמרה | מקור ב-Google Ads | מדריך להגדרת API |
---|---|---|
UPLOAD_CLICKS |
מעקב אחרי המרות מקליקים והמרות משופרות במסגרת הלידים | מדריך לקליקים על העלאות
משופר מדריך בנושא המרות מלידים |
UPLOAD_CALLS |
מעקב אחר המרות משיחות | מדריך להגדרת API |
STORE_SALES |
מעקב אחרי המרות ומכירות בחנות הפיזית | הגדרת API מדריך |
תיעוד המרות משופר באתרים
המרות משופרות להשגת
באינטרנט מאפשרים לכם לשלוח
נתוני המרות מאינטראקציה ישירה (First-Party) של WEBPAGE
פעולות המרה בטווח של 24 שעות אחרי
את האירוע ההמרה, במקום את אותו אירוע. כך אפשר לאתר
נתונים מאינטראקציה ישירה (First-Party) ממגוון מקורות, כמו מסד נתונים של לקוחות או ניהול קשרי לקוחות (CRM)
המערכת.
סוגים נוספים של פעולות המרה
ב-Google Ads API אפשר למצוא סוגים נוספים של פעולות המרה בדוחות, אך הוא עשוי להגביל או לאסור יצירה או שינוי של פעולות אלה.
המרות ב-SKAdNetwork
אם אתם מפעילים קמפיינים לקידום אפליקציות ל-iOS
ויישמנו
SKAdNetwork, אפשר לגשת
נתוני SKAdNetwork שסופקו ל-Google ברמת Customer
ו-Campaign
באמצעות
במקורות המידע הבאים:
שדה בדוח | תיאור |
---|---|
metrics.sk_ad_network_installs |
מספר ההתקנות שדווחו על ידי Apple. ניתן לפלח את המדד הזה בלבד
בכל שילוב של segments.sk_ad_network_conversion_value וגם
פלחים הקשורים לתאריכים.
|
metrics.sk_ad_network_total_conversions |
המספר הכולל של המרות, כולל התקנות וסוגים אחרים של המרות המרות שמדווחות על ידי Apple. ניתן לפלח את המדד הזה רק לפי פלחים שקשורים ל-SKAdNetwork ופלחים שקשורים לתאריכים. |
segments.sk_ad_network_ad_event_type |
סוג האירוע שהתרחש לגבי המרה מסוימת. |
segments.sk_ad_network_attribution_credit |
איך המערכת מקצה קרדיט על המרה מסוימת לשיוך. |
segments.sk_ad_network_fine_conversion_value |
הערך של המרה שמדווחת על ידי Apple. לא ניתן להחיל את הפלח הזה
לכל מדד שאינו הערך |
segments.sk_ad_network_coarse_conversion_value |
הערך המשוער של המרה בודדת. |
segments.sk_ad_network_postback_sequence_index |
המיקום של הדיווח החוזר על המרה (PostBack) ברצף של המרה מסוימת. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id |
מזהה האפליקציה שבו המודעה שהובילה להתקנה של iOS Store Kit Ad Network הייתה מוצגת. |
segments.sk_ad_network_source_domain |
האתר שבו המודעה שהובילה להתקנה של iOS Store Kit Ad Network הייתה מוצגת. ערך null מציין שהפלח לא רלוונטי. לדוגמה: שהוא לא קמפיין ל-iOS, או שהוא לא נכלל בדיווחים חוזרים על המרות (PostBack) שנשלחו על ידי Apple. |
segments.sk_ad_network_source_type |
סוג המקור שבו המודעה שהובילה להתקנה של iOS Store Kit Ad Network הוצגה. ערך null מציין שהפלח לא רלוונטי. לדוגמה: קמפיין שאינו ל-iOS – או שלא נמצאו דומיין מקור או אפליקציית מקור דיווחים חוזרים על המרות (PostBack) שנשלחו מ-Apple. |
segments.sk_ad_network_user_type |
סוג המשתמש שיצר המרה מסוימת. |
segments.sk_ad_network_redistributed_fine_conversion_value |
ערכי ההמרות בפלח הזה כוללים ערכי null מחולקות מחדש לערכי המרות. הפלח הזה מייצג את הסכום של מוצגים ערכי המרות מדויקים שהוחזרו על ידי Apple וערכי null לפי מודל מ-Google. |
segments.sk_ad_network_version |
גרסת iOS Store Kit Ad Network API שבה נעשה שימוש. |
אפשר גם לשמור מיפוי של ערכי המרות ב-SKAdNetwork לחשבונות מקושרים ספציפיים
לקוחות עם אפליקציות ל-iOS דרך CustomerSkAdNetworkConversionValueSchema
.
קוד Python לדוגמה
#!/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
המרות מנכס 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:
- מייבאים את ההמרה מנכס GA4 לחשבון Google Ads באמצעות
משנה את השדה
status
שלו מ-HIDDEN
ל-ENABLED
. - צריך לשנות את השדות
primary_for_goal
ו-category
כדי לציין איך צריך להשתמש בו להשפיע על הבידינג והדוחות ב-Google Ads. - מעדכנים את
name
או אתvalue_settings
. - מסירים את ההמרה מחשבון Google Ads באמצעות פעולת
remove
.
כל ניסיון לשנות מאפיינים אחרים של המרה מיובאת מ-GA4 או כלשהו
של המרה מיובאת מ-Universal Analytics,
שגיאה MUTATE_NOT_ALLOWED
. אפשר לבצע את השינויים האלה רק באמצעות ממשק המשתמש של Google Ads.
Firebase וניתוח של נתוני אפליקציות של צד שלישי
כדי לייבא
שירותי צד שלישי לניתוח של נתוני אפליקציות
או המרות ב-Firebase,
לשנות את status
של
ConversionAction
מ-HIDDEN
עד ENABLED
באמצעות שיטת mutate
של
ConversionActionService
. עדכון של
אין תמיכה ב-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 כמו יצירה של פעולת המרה חדשה באמצעות
ייבוא > ייבוא ידני באמצעות API או העלאות > מעקב אחר המרות מ-
קליקים. היא גם מגדירה את category
אל DEFAULT
.
הגדרות ברירת המחדל הבאות חלות:
Google Ads API מגדיר את שדה
primary_for_goal
באופן אוטומטי, אבל ניתן להגדיר את השדה הזה באופן מפורש כדי לשלוט באופן שבו פעולת ההמרה משפיעה על הדיווח והבידינג בחשבון כאשר משלבים אותם ליעדי ההמרה שלכם.Google Ads API מגדיר את
counting_type
באופן אוטומטי אלMANY_PER_CLICK
. פרטים נוספים זמינים במאמר מידע על האפשרויות לספירת המרות.ב-Google Ads API מוגדר מודל השיוך כנתונים על ידי הגדרה של השדה
attribution_model_settings
אל הערךGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
שלAttributionModel
.
Java
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()); } } }
C#
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 ); } }
Python
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}".' )
Ruby
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
Perl
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
.המאפיין הזה חייב להיות בטווח
[1,60]
שלAD_CALL
או פעולת המרה אחת (WEBSITE_CALL
). לגבי רוב פעולות ההמרה האחרות, הטווח המותר הוא[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
.