برای ثبت تبدیلها، باید ردیابی تبدیل را در حساب تبدیل گوگل ادز خود فعال کنید. این راهنما جزئیاتی در مورد نحوه تأیید فعال بودن ردیابی تبدیل، فعال کردن آن در صورت فعال نبودن و بازیابی اطلاعات مربوط به اقدامات تبدیل موجود ارائه میدهد.
اکثر اقدامات تبدیل همچنین به مراحل اضافی از طرف شما برای ردیابی آنها نیاز دارند. برای اطلاعات بیشتر در مورد انواع مختلف اقدامات تبدیل و الزامات آنها، به راهنمای ایجاد اقدامات تبدیل مراجعه کنید.
آماده شدن برای ارائه رضایتنامه
بسیار مهم است که تأیید کنید اجازه اشتراکگذاری دادههای تبدیل با گوگل را دارید. این کار را میتوان به یکی از دو روش زیر انجام داد:
- تنظیمات رضایت پیشفرض در سطح حساب را پیکربندی کنید. در رابط کاربری گوگل ادز ، روی ابزارها -> مدیر داده -> تنظیمات رضایت -> تنظیمات رضایت پیشفرض کلیک کنید.
- فیلد ClickConversion.consent را برای هر تبدیل وارد شده تنظیم کنید.
وبسایت خود را برای ردیابی تبدیلها تنظیم کنید
اگر در حال شروع یکپارچهسازی واردات تبدیل آفلاین خود هستید، اولین قدم این است که مراحل موجود در راهنمای «پیکربندی برچسب گوگل برای تبدیلهای پیشرفته برای سرنخها» را دنبال کنید تا وبسایت خود را برای ردیابی تبدیلهای پیشرفته برای سرنخها پیکربندی کنید. همچنین میتوانید با دنبال کردن مراحل موجود در راهنمای «پیکربندی برچسب گوگل برای تبدیلهای پیشرفته برای سرنخها»، از Google Tag Manager برای پیکربندی وبسایت خود استفاده کنید.
ردیابی تبدیل را در حساب تبدیل گوگل ادز خود فعال کنید
اطلاعات مربوط به تنظیمات ردیابی تبدیل خود را بازیابی کنید
شما میتوانید تنظیمات ردیابی تبدیل حساب کاربری خود را بررسی کنید و با جستجوی منبع Customer برای ConversionTrackingSetting ، فعال بودن ردیابی تبدیل را تأیید کنید. کوئری زیر را با GoogleAdsService.SearchStream اجرا کنید:
SELECT
customer.conversion_tracking_setting.google_ads_conversion_customer,
customer.conversion_tracking_setting.conversion_tracking_status,
customer.conversion_tracking_setting.conversion_tracking_id,
customer.conversion_tracking_setting.cross_account_conversion_tracking_id
FROM customer
فیلد google_ads_conversion_customer نشاندهنده حساب کاربری گوگل ادز است که تبدیلها را برای این مشتری ایجاد و مدیریت میکند. برای مشتریانی که از ردیابی تبدیل بین حسابهای کاربری استفاده میکنند، این شناسه یک حساب کاربری مدیر است. شناسه مشتری تبدیل گوگل ادز باید به عنوان customer_id در درخواستهای API گوگل ادز برای ایجاد و مدیریت تبدیلها ارائه شود. توجه داشته باشید که این فیلد حتی اگر ردیابی تبدیل فعال نباشد، پر میشود.
فیلد conversion_tracking_status نشان میدهد که آیا ردیابی تبدیل فعال است و آیا حساب از ردیابی تبدیل بین حسابها استفاده میکند یا خیر.
یک اقدام تبدیل در زیر بخش مشتری تبدیل گوگل ادز ایجاد کنید
اگر مقدار conversion_tracking_status NOT_CONVERSION_TRACKED باشد، ردیابی تبدیل برای حساب فعال نشده است. با ایجاد حداقل یک ConversionAction در حساب تبدیل گوگل ادز، مانند مثال زیر، ردیابی تبدیل را فعال کنید. همچنین میتوانید با دنبال کردن دستورالعملهای موجود در مرکز راهنما برای نوع تبدیلی که میخواهید فعال کنید، یک عمل تبدیل در رابط کاربری ایجاد کنید.
توجه داشته باشید که تبدیلهای پیشرفته هنگام ارسال از طریق API تبلیغات گوگل به طور خودکار فعال میشوند، اما میتوان آنها را از طریق رابط کاربری تبلیغات گوگل غیرفعال کرد.
مثال کد
جاوا
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.V22.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; } }
پی اچ پی
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: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = 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: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( 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::V22::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V22::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V22::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; }
مطمئن شوید که conversion_action_type روی مقدار صحیح ConversionActionType تنظیم شده است. برای راهنمایی بیشتر در مورد ایجاد اقدامات تبدیل در API تبلیغات گوگل، به بخش ایجاد اقدامات تبدیل مراجعه کنید.
بازیابی یک اقدام تبدیل موجود
شما میتوانید با اجرای کوئری زیر، جزئیات مربوط به یک اقدام تبدیل موجود را بازیابی کنید. مطمئن شوید که شناسه مشتری در درخواست، روی مشتری تبدیل گوگل ادز که در بالا شناسایی کردید، تنظیم شده باشد و نوع اقدام تبدیل نیز روی مقدار صحیح ConversionActionType تنظیم شده باشد.
SELECT
conversion_action.resource_name,
conversion_action.name,
conversion_action.status
FROM conversion_action
WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'
ردیابی تبدیل بین حسابها
اگر از ردیابی تبدیل بین حسابهای کاربری استفاده میکنید، ConversionActionService اقدامات تبدیل زیر را برمیگرداند:
- تمام اقدامات تبدیل تعریفشده توسط حساب مدیر که توسط حساب برای ردیابی تبدیل بین حسابها استفاده میشود
- تمام اقدامات تبدیل که مشتری در آنها آمار کسب کرده است، شامل اقدامات تعریفشده توسط سیستم و اقداماتی که متعلق به مدیر است، حتی اگر آن مدیر متعاقباً ارتباط خود را قطع کند
- تمام اقداماتی که مشتری در حساب خود تعریف کرده است
- تبدیلهای آنالیتیکس که در ویژگیهای مرتبط گوگل آنالیتیکس ایجاد شدهاند. این شامل اقدامات مربوط به تبدیلهای آنالیتیکس میشود که به گوگل ادز وارد نشدهاند و وضعیت آنها
HIDDENاست.
از v19.1 به بعد، میتوانید از API گوگل ادز برای فعال کردن ردیابی تبدیل متقابل هنگام ایجاد حسابهای کاربری استفاده کنید.
هنگام ایجاد یک Customer جدید، conversion_tracking_setting.google_ads_conversion_customer را روی نام منبع حساب کاربری مدیریت که باید اقدامات تبدیل را از طرف حساب کاربری مدیریت کند، تنظیم کنید. این حساب کاربری مدیریت همچنین باید حسابی باشد که درخواست create حساب کاربری جدید را صادر میکند.
از v20 ، میتوانید از API گوگل ادز برای فعال کردن ردیابی تبدیل متقابل، چه هنگام ایجاد و چه هنگام بهروزرسانی حسابهای کاربری، استفاده کنید.
هنگام بهروزرسانی یک حساب کاربری موجود، میتوانید با تنظیم فیلد conversion_tracking_setting.google_ads_conversion_customer ، ردیابی تبدیل بین حسابهای کاربری را فعال کنید. این فیلد باید روی نام منبع حساب کاربری مدیریت که باید اقدامات تبدیل را از طرف حساب کاربری مدیریت کند، تنظیم شود. این حساب کاربری مدیریت همچنین باید حسابی باشد که درخواست update را برای حساب کاربری صادر میکند.
توجه: استفاده از API گوگل ادز برای تغییر تنظیمات ردیابی تبدیل بین حسابهای کاربری یک حساب کاربری، فقط یک ویژگی مجاز است. برای استفاده از آن، با مدیر حساب خود تماس بگیرید.
وقتی ردیابی تبدیل بین حسابهای کاربری را انتخاب میکنید، یا مدیر ردیابی تبدیل را برای یک حساب کاربری موجود تغییر میدهید، همان ملاحظاتی که هنگام ایجاد این تغییر در رابط کاربری اعمال میکنید، اعمال میشود. به طور خاص:
- حساب کاربری، قوانین پیشفرض ارزش تبدیل و اهداف پیشفرض چرخه عمر مشتریِ مدیر جدید ردیابی تبدیل را اتخاذ خواهد کرد.
- کمپینهایی که یک اقدام تبدیل خاص را هدف قرار میدهند، به استفاده از اهداف تبدیل پیشفرض حساب مدیر تبدیل تغییر خواهند کرد. اگر به هدف قرار دادن یک اقدام تبدیل خاص ادامه دهید، میتواند رفتار متناقضی ایجاد کند، زیرا ممکن است حساب مدیر اهداف مشابهی با حساب مشتری نداشته باشد. مطمئن شوید که کمپینهای شما برای اهداف درست بهینه شدهاند.
- اگر یک حساب کاربری متعلق به بیش از یک حساب کاربری مدیر باشد، فقط میتواند از اقدامات تبدیل از یک مدیر استفاده کند. اگر هیچ حساب کاربری ردیابی تبدیل مشخص نشده باشد، حساب کاربری به طور پیشفرض از خودش به عنوان حساب ردیابی تبدیل استفاده میکند.
ایجاد اقدامات تبدیل
برای اندازهگیری تبدیلها، یک ConversionAction برای type اقدام تبدیلی که میخواهید پیگیری کنید، تنظیم کنید. به عنوان مثال، یک خرید آنلاین و یک تماس تلفنی به اقدامات تبدیل متفاوتی نیاز دارند.
بهترین راه برای تنظیم اقدامات تبدیل جدید در API، استفاده از مثال کد Add Conversion Action در زیر است. این نمونه تمام وظایف احراز هویت پسزمینه را برای شما انجام میدهد و شما را در ایجاد یک ConversionAction راهنمایی میکند.
اکثر اقدامات تبدیل همچنین برای ردیابی آنها به مراحل اضافی از طرف شما نیاز دارند. به عنوان مثال، برای ردیابی تبدیلها در وبسایت خود، باید یک قطعه کد به نام برچسب را به صفحه تبدیل در وبسایت خود اضافه کنید. برای جزئیات بیشتر در مورد سایر انواع اقدامات تبدیل، به مقاله مرکز راهنمایی ما مراجعه کنید.
مثال کد
مثال کد زیر شما را در فرآیند ایجاد یک عمل تبدیل جدید راهنمایی میکند. به طور خاص، یک عمل تبدیل با type تنظیم شده روی UPLOAD_CLICKS ایجاد میکند. همچنین category را روی DEFAULT تنظیم میکند.
تنظیمات پیشفرض زیر اعمال میشوند:
API گوگل ادز فیلد
primary_for_goalرا به طور خودکار تنظیم میکند، اما میتوانید این فیلد را به طور صریح تنظیم کنید تا نحوه تأثیر یک اقدام تبدیل بر گزارشدهی و پیشنهاد قیمت در حساب کاربری شما، هنگام ترکیب با اهداف تبدیل، کنترل شود.API گوگل ادز به طور خودکار
counting_typeرویMANY_PER_CLICKتنظیم میکند. برای جزئیات بیشتر به «درباره گزینههای شمارش تبدیل» مراجعه کنید.API گوگل ادز با تنظیم فیلد
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.V22.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; } }
پی اچ پی
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: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = 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: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( 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::V22::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V22::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V22::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; }
میتوانید این مثال را در پوشهی ریمارکتینگ (Remarketing) در کتابخانهی کلاینت خود و در مجموعهی مثالهای کد مشاهده کنید: مثال کد «افزودن مثال کد اقدام تبدیل» .
اعتبارسنجیها
گوگل ادز و رابط برنامهنویسی کاربردی گوگل ادز از طیف گستردهای از اقدامات تبدیل پشتیبانی میکنند، بنابراین برخی از قوانین اعتبارسنجی بر اساس 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_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میشود.