Korekty sezonowe to zaawansowane narzędzie, za którego pomocą możesz przekazywać do inteligentnego określania stawek informacje o spodziewanych zmianach we współczynnikach konwersji wynikających z przyszłych wydarzeń. Więcej informacji o działaniu korekt sezonowych znajdziesz na stronie pomocy dotyczącej korekt sezonowych.
Utwórz korektę sezonową programowo za pomocą BiddingSeasonalityAdjustments.
Zakres
BiddingSeasonalityAdjustments mieć wymagany
scope, który może mieć te wartości: Dodatkowe opcje konfiguracji dotyczące zakresu są ustawiane w zależności od używanego zakresu.
- CAMPAIGN– dostosowanie jest stosowane w przypadku konkretnych kampanii. W polu- campaignsustaw listę nazw zasobów kampanii, do których będzie stosowana ta korekta.- Maksymalna liczba kampanii na BiddingSeasonalityAdjustmentto 2000.
 
- Maksymalna liczba kampanii na 
- CHANNEL– korekta jest stosowana w kampaniach należących do określonych typów kanałów. W polu- advertising_channel_typesustaw listę- AdvertisingChannelTypes, do których będzie mieć zastosowanie ta korekta.
Urządzenia
Oprócz zakresu dostosowania sezonowe można skonfigurować za pomocą opcjonalnej listy typów urządzeń, do których będzie stosowane dostosowanie. Jeśli ustawisz parametr devices, korekta sezonowości będzie stosowana tylko do ruchu z określonych typów urządzeń. Jeśli nie zostanie określony, korekta będzie obejmować wszystkie typy urządzeń.
Daty, godziny i modyfikator współczynnika konwersji
Oprócz zakresu i opcjonalnych urządzeń każda korekta sezonowa ma start_date_time, end_date_time i conversion_rate_modifier.
Data i godzina określają przyszły przedział czasu, którego dotyczy dostosowanie, a modyfikator to oczekiwany mnożnik współczynnika konwersji, który ma zostać zastosowany. Daty i godziny są podane w strefie czasowej konta.
Przykład
Poniższy przykład pokazuje, jak utworzyć korektę sezonową o CHANNEL zakresie. Zakomentowane sekcje pokazują, jak określić kampanie, jeśli zamiast tego ustawisz CAMPAIGN zakres.
Java
BiddingSeasonalityAdjustment seasonalityAdjustment = BiddingSeasonalityAdjustment.newBuilder() // A unique name is required for every seasonality adjustment. .setName("Seasonality adjustment #" + getPrintableDateTime()) // The CHANNEL scope applies the conversionRateModifier to all campaigns of specific // advertising channel types. In this example, the conversionRateModifier will only // apply to Search campaigns. Use the CAMPAIGN scope to instead limit the scope to // specific campaigns. .setScope(SeasonalityEventScope.CHANNEL) .addAdvertisingChannelTypes(AdvertisingChannelType.SEARCH) // If setting scope CAMPAIGN, add individual campaign resource name(s) according to // the commented out line below. // .addCampaigns("INSERT_CAMPAIGN_RESOURCE_NAME_HERE") .setStartDateTime(startDateTime) .setEndDateTime(endDateTime) // The conversionRateModifier is the expected future conversion rate change. When this // field is unset or set to 1.0, no adjustment will be applied to traffic. The allowed // range is 0.1 to 10.0. .setConversionRateModifier(conversionRateModifier) .build(); BiddingSeasonalityAdjustmentOperation operation = BiddingSeasonalityAdjustmentOperation.newBuilder() .setCreate(seasonalityAdjustment) .build(); MutateBiddingSeasonalityAdjustmentsResponse response = seasonalityAdjustmentServiceClient.mutateBiddingSeasonalityAdjustments( customerId.toString(), ImmutableList.of(operation)); System.out.printf( "Added seasonality adjustment with resource name: %s%n", response.getResults(0).getResourceName());
C#
BiddingSeasonalityAdjustment seasonalityAdjustment = new BiddingSeasonalityAdjustment() { // A unique name is required for every seasonality adjustment. Name = "Seasonality adjustment #" + ExampleUtilities.GetRandomString(), // The CHANNEL scope applies the conversionRateModifier to all campaigns of // specific advertising channel types. In this example, the // conversionRateModifier will only apply to Search campaigns. Use the // CAMPAIGN scope to instead limit the scope to specific campaigns. Scope = SeasonalityEventScope.Channel, AdvertisingChannelTypes = { AdvertisingChannelType.Search }, // If setting scope CAMPAIGN, add individual campaign resource name(s) // according to the commented out line below. // Campaigns = { "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" }, // The date range should be less than 14 days. StartDateTime = startDateTime, EndDateTime = endDateTime, // The conversionRateModifier is the expected future conversion rate change. // When this field is unset or set to 1.0, no adjustment will be applied to // traffic. The allowed range is 0.1 to 10.0. ConversionRateModifier = conversionRateModifier }; BiddingSeasonalityAdjustmentOperation operation = new BiddingSeasonalityAdjustmentOperation() { Create = seasonalityAdjustment }; try { MutateBiddingSeasonalityAdjustmentsResponse response = biddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments( customerId.ToString(), new[] { operation }); Console.WriteLine($"Added seasonality adjustment with resource name: " + $"{response.Results[0].ResourceName}"); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; }
PHP
// Creates a bidding seasonality adjustment. $seasonalityAdjustment = new BiddingSeasonalityAdjustment([ // A unique name is required for every seasonality adjustment. 'name' => 'Seasonality adjustment #' . Helper::getPrintableDatetime(), // The CHANNEL scope applies the conversionRateModifier to all campaigns of specific // advertising channel types. In this example, the conversionRateModifier will only // apply to Search campaigns. Use the CAMPAIGN scope to instead limit the scope to // specific campaigns. 'scope' => SeasonalityEventScope::CHANNEL, 'advertising_channel_types' => [AdvertisingChannelType::SEARCH], // If setting scope CAMPAIGN, add individual campaign resource name(s) according to // the commented out line below. // 'campaigns' => ['INSERT_CAMPAIGN_RESOURCE_NAME_HERE'], 'start_date_time' => $startDateTime, 'end_date_time' => $endDateTime, // The conversionRateModifier is the expected future conversion rate change. When this // field is unset or set to 1.0, no adjustment will be applied to traffic. The allowed // range is 0.1 to 10.0. 'conversion_rate_modifier' => $conversionRateModifier ]); // Creates a bidding seasonality adjustment operation. $biddingSeasonalityAdjustmentOperation = new BiddingSeasonalityAdjustmentOperation(); $biddingSeasonalityAdjustmentOperation->setCreate($seasonalityAdjustment); // Submits the bidding seasonality adjustment operation to add the bidding seasonality // adjustment. $biddingSeasonalityAdjustmentServiceClient = $googleAdsClient->getBiddingSeasonalityAdjustmentServiceClient(); $response = $biddingSeasonalityAdjustmentServiceClient->mutateBiddingSeasonalityAdjustments( MutateBiddingSeasonalityAdjustmentsRequest::build( $customerId, [$biddingSeasonalityAdjustmentOperation] ) ); printf( "Added seasonality adjustment with resource name: '%s'.%s", $response->getResults()[0]->getResourceName(), PHP_EOL );
Python
bidding_seasonality_adjustment_service: ( BiddingSeasonalityAdjustmentServiceClient ) = client.get_service("BiddingSeasonalityAdjustmentService") operation: BiddingSeasonalityAdjustmentOperation = client.get_type( "BiddingSeasonalityAdjustmentOperation" ) bidding_seasonality_adjustment: BiddingSeasonalityAdjustment = ( operation.create ) # A unique name is required for every seasonality adjustment. bidding_seasonality_adjustment.name = f"Seasonality adjustment #{uuid4()}" # The CHANNEL scope applies the conversion_rate_modifier to all campaigns of # specific advertising channel types. In this example, the # conversion_rate_modifier will only apply to Search campaigns. Use the # CAMPAIGN scope to instead limit the scope to specific campaigns. bidding_seasonality_adjustment.scope = ( client.enums.SeasonalityEventScopeEnum.CHANNEL ) bidding_seasonality_adjustment.advertising_channel_types.append( client.enums.AdvertisingChannelTypeEnum.SEARCH ) # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # # bidding_seasonality_adjustment.campaigns.append( # "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" # ) bidding_seasonality_adjustment.start_date_time = start_date_time bidding_seasonality_adjustment.end_date_time = end_date_time # The conversion_rate_modifier is the expected future conversion rate # change. When this field is unset or set to 1.0, no adjustment will be # applied to traffic. The allowed range is 0.1 to 10.0. bidding_seasonality_adjustment.conversion_rate_modifier = ( conversion_rate_modifier ) response: MutateBiddingSeasonalityAdjustmentsResponse = ( bidding_seasonality_adjustment_service.mutate_bidding_seasonality_adjustments( customer_id=customer_id, operations=[operation] ) ) resource_name: str = response.results[0].resource_name print(f"Added seasonality adjustment with resource name: '{resource_name}'")
Ruby
client = Google::Ads::GoogleAds::GoogleAdsClient.new operation = client.operation.create_resource.bidding_seasonality_adjustment do |bsa| # A unique name is required for every seasonality adjustment. bsa.name = "Seasonality Adjustment #{(Time.new.to_f * 1000).to_i}" # The CHANNEL scope applies the conversion_rate_modifier to all campaigns # of specific advertising channel types. In this example, the # conversion_rate_modifier will only apply to Search campaigns. Use the # CAMPAIGN scope to instead limit the scope to specific campaigns. bsa.scope = :CHANNEL bsa.advertising_channel_types << :SEARCH # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # # bsa.campaigns << "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" bsa.start_date_time = start_date_time bsa.end_date_time = end_date_time # The conversion_rate_modifier is the expected future conversion rate # change. When this field is unset or set to 1.0, no adjustment will be # applied to traffic. The allowed range is 0.1 to 10.0. bsa.conversion_rate_modifier = conversion_rate_modifier end response = client.service.bidding_seasonality_adjustment.mutate_bidding_seasonality_adjustments( customer_id: customer_id, operations: [operation], ) puts "Added seasonality adjustment with resource name #{response.results.first.resource_name}"
Perl
my $seasonality_adjustment = Google::Ads::GoogleAds::V22::Resources::BiddingSeasonalityAdjustment->new({ # A unique name is required for every seasonality adjustment. name => "Seasonality adjustment #" . uniqid(), # The CHANNEL scope applies the conversion_rate_modifier to all campaigns # of specific advertising channel types. In this example, the conversion_rate_modifier # will only apply to Search campaigns. Use the CAMPAIGN scope to instead # limit the scope to specific campaigns. scope => CHANNEL, advertisingChannelTypes => [SEARCH], # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # campaigns => ["INSERT_CAMPAIGN_RESOURCE_NAME_HERE"], startDateTime => $start_date_time, endDateTime => $end_date_time, # The conversion_rate_modifier is the expected future conversion rate change. # When this field is unset or set to 1.0, no adjustment will be applied to traffic. # The allowed range is 0.1 to 10.0. conversionRateModifier => $conversion_rate_modifier }); my $operation = Google::Ads::GoogleAds::V22::Services::BiddingSeasonalityAdjustmentService::BiddingSeasonalityAdjustmentOperation ->new({ create => $seasonality_adjustment }); my $response = $api_client->BiddingSeasonalityAdjustmentService()->mutate({ customerId => $customer_id, operations => [$operation]}); printf "Added seasonality adjustment with resource name: '%s'.\n", $response->{results}[0]{resourceName};