Simulasi bid berisi data simulasi dan informasi tentang rentang waktu, jenis data simulasi, dan kampanye, grup iklan, kriteria grup iklan, atau strategi bidding yang berlaku. Data simulasi adalah urutan titik simulasi yang memberikan histogram performa yang diprediksi dengan berbagai bid, target, atau anggaran selama jangka waktu tertentu. Informasi yang diberikan oleh titik simulasi bergantung pada jenis data simulasi.
Anda dapat mengambil simulasi bid apa pun dengan kueri Bahasa Kueri Google Ads dengan memilih kolom data simulasi (jenis data simulasi) yang sesuai dari resource (tingkat bid) yang sesuai.
| Tingkat Bid & Referensi | SimulationType |
Kolom Data Simulasi | Jenis Titik Simulasi |
|---|---|---|---|
| Grup Iklan |
|
|
|
| Kriteria Grup Iklan |
|
|
|
| Strategi Bidding (portofolio) |
|
||
| Kampanye |
|
|
Metode modifikasi simulasi berskala dalam simulasi kampanye
Setiap resource simulasi menyertakan kolom modification_method dari jenis
SimulationModificationMethod yang menunjukkan
cara nilai simulasi diterapkan (UNIFORM, DEFAULT, atau SCALING). Meskipun
simulasi UNIFORM dan DEFAULT mengisi jumlah mikro eksplisit pada setiap
titik simulasi (seperti cpc_bid_micros atau target_cpa_micros),
simulasi tingkat kampanye untuk kampanye Penelusuran juga mendukung
metode modifikasi SCALING untuk simulasi CPC_BID dan
TARGET_CPA:
- Jika
CampaignSimulation.typeadalahCPC_BIDdanmodification_methodadalahSCALING, setiapCpcBidSimulationPointakan mengisicpc_bid_scaling_modifier(bukancpc_bid_micros) untuk menunjukkan apa yang terjadi jika semua bid CPC dalam kampanye (bid CPC default grup iklan dan bid CPC tingkat kriteria) diskalakan oleh pengubah tersebut. Misalnya, pengubah penskalaan2.0menunjukkan apa yang terjadi jika semua bid CPC di kampanye digandakan. - Jika
CampaignSimulation.typeadalahTARGET_CPAdanmodification_methodadalahSCALING, setiapTargetCpaSimulationPointakan mengisitarget_cpa_scaling_modifier(bukantarget_cpa_micros) untuk menunjukkan apa yang terjadi jika target CPA kampanye dan semua target CPA grup iklan dalam kampanye diskalakan oleh pengubah tersebut.
Untuk informasi selengkapnya, lihat Memperkirakan hasil dengan simulator bid, anggaran, dan target.
Contoh kode: mengambil simulasi bid kriteria grup iklan
Contoh berikut menunjukkan cara mengambil dan mencetak semua simulasi bid CPC
(CPC_BID) yang tersedia untuk kriteria dalam grup iklan tertentu dengan
memfilter ad_group_criterion_simulation di ad_group_id.
Java
private void runExample(GoogleAdsClient googleAdsClient, long customerId, long adGroupId) { try (GoogleAdsServiceClient googleAdsServiceClient = googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) { // Creates a query that retrieves the ad group criterion CPC bid simulations. String query = String.format( "SELECT ad_group_criterion_simulation.ad_group_id, " + "ad_group_criterion_simulation.criterion_id, " + "ad_group_criterion_simulation.start_date, " + "ad_group_criterion_simulation.end_date, " + "ad_group_criterion_simulation.cpc_bid_point_list.points " + "FROM ad_group_criterion_simulation " + "WHERE ad_group_criterion_simulation.type = CPC_BID " + "AND ad_group_criterion_simulation.ad_group_id = %d", adGroupId); // Constructs the SearchGoogleAdsStreamRequest. SearchGoogleAdsStreamRequest request = SearchGoogleAdsStreamRequest.newBuilder() .setCustomerId(Long.toString(customerId)) .setQuery(query) .build(); // Issues the search stream request. ServerStream<SearchGoogleAdsStreamResponse> stream = googleAdsServiceClient.searchStreamCallable().call(request); // Iterates over all rows in all messages and prints the requested field values for // the ad group criterion CPC bid simulation in each row. for (SearchGoogleAdsStreamResponse response : stream) { for (GoogleAdsRow googleAdsRow : response.getResultsList()) { AdGroupCriterionSimulation simulation = googleAdsRow.getAdGroupCriterionSimulation(); System.out.printf( "Found ad group criterion CPC bid simulation for ad group ID %d, " + "criterion ID %d, start date '%s', end date '%s', and points:%n", simulation.getAdGroupId(), simulation.getCriterionId(), simulation.getStartDate(), simulation.getEndDate()); for (CpcBidSimulationPoint point : simulation.getCpcBidPointList().getPointsList()) { System.out.printf( " bid: %d => clicks: %d, cost: %d, impressions: %d, " + "biddable conversions: %.2f, biddable conversions value: %.2f%s", point.getCpcBidMicros(), point.getClicks(), point.getCostMicros(), point.getImpressions(), point.getBiddableConversions(), point.getBiddableConversions()); } } } } }
C#
public void Run(GoogleAdsClient client, long customerId, long adGroupId) { // Get the GoogleAdsService. GoogleAdsServiceClient googleAdsService = client.GetService(Services.V26.GoogleAdsService); try { // Creates a query that retrieves the ad group criterion CPC bid simulations. string query = $@" SELECT ad_group_criterion_simulation.ad_group_id, ad_group_criterion_simulation.criterion_id, ad_group_criterion_simulation.start_date, ad_group_criterion_simulation.end_date, ad_group_criterion_simulation.cpc_bid_point_list.points FROM ad_group_criterion_simulation WHERE ad_group_criterion_simulation.type = CPC_BID AND ad_group_criterion_simulation.ad_group_id = {adGroupId}"; // Issue a search stream request. googleAdsService.SearchStream(customerId.ToString(), query, delegate (SearchGoogleAdsStreamResponse response) { // Iterates over all rows in all messages and prints the requested field // values for the ad group criterion CPC bid simulation in each row. foreach (GoogleAdsRow googleAdsRow in response.Results) { AdGroupCriterionSimulation simulation = googleAdsRow.AdGroupCriterionSimulation; Console.WriteLine("Found ad group criterion CPC bid simulation for " + $"ad group ID {simulation.AdGroupId}, " + $"criterion ID {simulation.CriterionId}, " + $"start date {simulation.StartDate}, " + $"end date {simulation.EndDate}"); foreach (CpcBidSimulationPoint point in simulation.CpcBidPointList.Points) { Console.WriteLine($"\tbid: {point.CpcBidMicros} => " + $"clicks: {point.Clicks}, " + $"cost: {point.CostMicros}, " + $"impressions: {point.Impressions}, " + $"biddable conversions: {point.BiddableConversions}, " + "biddable conversions value: " + $"{point.BiddableConversionsValue}"); } Console.WriteLine(); } } ); }
PHP
public static function runExample( GoogleAdsClient $googleAdsClient, int $customerId, int $adGroupId ) { $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); // Creates a query that retrieves the ad group criterion CPC bid simulations. $query = sprintf( 'SELECT ad_group_criterion_simulation.ad_group_id, ' . 'ad_group_criterion_simulation.criterion_id, ' . 'ad_group_criterion_simulation.start_date, ' . 'ad_group_criterion_simulation.end_date, ' . 'ad_group_criterion_simulation.cpc_bid_point_list.points ' . 'FROM ad_group_criterion_simulation ' . 'WHERE ad_group_criterion_simulation.type = CPC_BID ' . 'AND ad_group_criterion_simulation.ad_group_id = %d', $adGroupId ); // Issues a search stream request. /** @var GoogleAdsServerStreamDecorator $stream */ $stream = $googleAdsServiceClient->searchStream( SearchGoogleAdsStreamRequest::build($customerId, $query) ); // Iterates over all rows in all messages and prints the requested field values for // the ad group criterion CPC bid simulation in each row. foreach ($stream->iterateAllElements() as $googleAdsRow) { /** @var GoogleAdsRow $googleAdsRow */ $simulation = $googleAdsRow->getAdGroupCriterionSimulation(); printf( 'Found ad group criterion CPC bid simulation for ad group ID %d, ' . 'criterion ID %d, start date "%s", end date "%s", and points:%s', $simulation->getAdGroupId(), $simulation->getCriterionId(), $simulation->getStartDate(), $simulation->getEndDate(), PHP_EOL ); foreach ($simulation->getCpcBidPointList()->getPoints() as $point) { /** @var CpcBidSimulationPoint $point */ printf( ' bid: %d => clicks: %d, cost: %d, impressions: %d, ' . 'biddable conversions: %.2f, biddable conversions value: %.2f%s', $point->getCpcBidMicros(), $point->getClicks(), $point->getCostMicros(), $point->getImpressions(), $point->getBiddableConversions(), $point->getBiddableConversionsValue(), PHP_EOL ); } print PHP_EOL; } }
Python
def main(client: GoogleAdsClient, customer_id: str, ad_group_id: str): googleads_service: GoogleAdsServiceClient = client.get_service( "GoogleAdsService" ) query = f""" SELECT ad_group_criterion_simulation.ad_group_id, ad_group_criterion_simulation.criterion_id, ad_group_criterion_simulation.start_date, ad_group_criterion_simulation.end_date, ad_group_criterion_simulation.cpc_bid_point_list.points FROM ad_group_criterion_simulation WHERE ad_group_criterion_simulation.type = CPC_BID AND ad_group_criterion_simulation.ad_group_id = {ad_group_id}""" # Issues a search request using streaming. stream: Iterable[SearchGoogleAdsStreamResponse] = ( googleads_service.search_stream(customer_id=customer_id, query=query) ) # Iterates over all rows in all messages and prints the requested field # values for the ad group criterion CPC bid simulation in each row. batch: SearchGoogleAdsStreamResponse for batch in stream: row: GoogleAdsRow for row in batch.results: simulation: AdGroupCriterionSimulation = ( row.ad_group_criterion_simulation ) print( "found ad group criterion CPC bid simulation for " f"ad group ID {simulation.ad_group_id}, " f"criterion ID {simulation.criterion_id}, " f"start date {simulation.start_date}, " f"end date {simulation.end_date}" ) point: CpcBidSimulationPoint for point in simulation.cpc_bid_point_list.points: print( f"\tbid: {point.cpc_bid_micros} => " f"clicks: {point.clicks}", f"cost: {point.cost_micros}, " f"impressions: {point.impressions}," "biddable conversions: " f"{point.biddable_conversions}," f"biddable conversions value: " f"{point.biddable_conversions_value}", ) print()
Ruby
def get_ad_group_criterion_cpc_bid_simulations(customer_id, ad_group_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new query = <<~QUERY SELECT ad_group_criterion_simulation.ad_group_id, ad_group_criterion_simulation.criterion_id, ad_group_criterion_simulation.start_date, ad_group_criterion_simulation.end_date, ad_group_criterion_simulation.cpc_bid_point_list.points FROM ad_group_criterion_simulation WHERE ad_group_criterion_simulation.type = CPC_BID AND ad_group_criterion_simulation.ad_group_id = #{ad_group_id} QUERY responses = client.service.google_ads.search_stream( customer_id: customer_id, query: query, ) responses.each do |response| response.results.each do |row| simulation = row.ad_group_criterion_simulation puts "Found ad group criterion CPC bid simulation for " \ "ad group ID #{simulation.ad_group_id}, " \ "criterion ID #{simulation.criterion_id}, " \ "start date '#{simulation.start_date}', " \ "end date '#{simulation.end_date}', and points:" simulation.cpc_bid_point_list.points.each do |point| puts " bid: #{point.cpc_bid_micros} => " \ "clicks: #{point.clicks}, " \ "cost: #{point.cost_micros}, " \ "impressions: #{point.impressions}, " \ "biddable conversions: #{point.biddable_conversions.round(2)}, " \ "biddable conversions value: #{point.biddable_conversions_value.round(2)}" end end end end
Perl
sub get_ad_group_criterion_cpc_bid_simulations { my ($api_client, $customer_id, $ad_group_id) = @_; # Create a query that retrieves the ad group criterion CPC bid simulations. my $search_query = "SELECT ad_group_criterion_simulation.ad_group_id, " . "ad_group_criterion_simulation.criterion_id, " . "ad_group_criterion_simulation.start_date, " . "ad_group_criterion_simulation.end_date, " . "ad_group_criterion_simulation.cpc_bid_point_list.points " . "FROM ad_group_criterion_simulation " . "WHERE ad_group_criterion_simulation.type = CPC_BID " . "AND ad_group_criterion_simulation.ad_group_id = $ad_group_id"; my $search_stream_request = Google::Ads::GoogleAds::V26::Services::GoogleAdsService::SearchGoogleAdsStreamRequest ->new({ customerId => $customer_id, query => $search_query }); # Get the GoogleAdsService. my $google_ads_service = $api_client->GoogleAdsService(); my $search_stream_handler = Google::Ads::GoogleAds::Utils::SearchStreamHandler->new({ service => $google_ads_service, request => $search_stream_request }); # Issue a search stream request, iterate over all rows in all messages and # print the requested field values for the ad group criterion CPC bid # simulation in each row. $search_stream_handler->process_contents( sub { my $google_ads_row = shift; my $simulation = $google_ads_row->{adGroupCriterionSimulation}; printf "Found ad group criterion CPC bid simulation for ad group ID %d, " . "criterion ID %d, start date '%s', end date '%s', and points:\n", $simulation->{adGroupId}, $simulation->{criterionId}, $simulation->{startDate}, $simulation->{endDate}; foreach my $point (@{$simulation->{cpcBidPointList}{points}}) { printf " bid: %d => clicks: %d, cost: %d, impressions: %d, " . "biddable conversions: %.2f, biddable conversions value: %.2f\n", $point->{cpcBidMicros}, $point->{clicks}, $point->{costMicros}, $point->{impressions}, $point->{biddableConversions}, $point->{biddableConversionsValue}; } }); return 1; }