La risorsa dell'API Bid Manager Query
rappresenta ciò che vedi nell'interfaccia utente come
un display e Report Video 360. Esegui questa query per generare un Report
risorsa. In caso di esito positivo, la risorsa Report
fornisce l'URL in cui
puoi scaricare il report risultante.
Questa pagina spiega come strutturare e creare una risorsa Query
.
Scegli filtri, dimensioni e metriche
In ogni Query
, fornisci il seguente Parameters
nel
params
per perfezionare i dati restituiti nel report:
filters
limita l'ambito dei dati. i filtri prendono un elenco di oggettiFilterPair
, in cuitype
è un'enumerazione di filtro, mentrevalue
è una stringa di identificazione, come il valore pertinente dell'ID risorsa.groupBys
definisci le dimensioni del report, rappresentato da un elenco di enumerazioni Filtro.metrics
definisci i dati che completano il report, rappresentato da un elenco di enumerazioni Metrica.
Per ulteriori dettagli sulla struttura di Query
, consulta la documentazione di riferimento
documentazione.
Quando scegli questi valori, considera i tuoi ReportType
,
impostato nel campo type
. Metriche e filtri selezionati
i valori devono essere compatibili con il tipo di report
da generare correttamente.
Creare una query
Dopo aver determinato la struttura di base del report, puoi creare la query.
Ecco come creare un report ad hoc composto da dati degli ultimi sette giorni:
Java
// Display name of the query to create. String displayName = display-name; // The report type. String reportType = report-type; // The advertisers and campaigns by which to filter report data. List<String> advertiserIdFilters = Arrays.asList(advertiser-id,...); List<String> campaignIdFilters = Arrays.asList(campaign-id,...); // The dimensions and metrics for the report. List<String> dimensions = Arrays.asList(dimension,...); List<String> metrics = Arrays.asList(metric,...); // Build a list of filter pairs from given IDs. List<FilterPair> filters = new ArrayList<FilterPair>(); if (advertiserIdFilters != null) { for (String advertiserId : advertiserIdFilters) { filters.add( new FilterPair().setType("FILTER_ADVERTISER").setValue(advertiserId)); } } if (campaignIdFilters != null) { for (String campaignId : campaignIdFilters) { filters.add( new FilterPair().setType("FILTER_MEDIA_PLAN").setValue(campaignId)); } } // Create the query structure. Query query = new Query(); // Build and set the metadata object. QueryMetadata metadata = new QueryMetadata(); metadata.setTitle(displayName); metadata.setDataRange(new DataRange().setRange("LAST_7_DAYS")); metadata.setFormat("CSV"); query.setMetadata(metadata); // Build the parameters object. Parameters parameters = new Parameters(); parameters.setType(reportType); parameters.setGroupBys(dimensions); parameters.setFilters(filters); parameters.setMetrics(metrics); // Set parameters object in query. query.setParams(parameters); // Build and set the schedule object. QuerySchedule schedule = new QuerySchedule(); schedule.setFrequency("ONE_TIME"); query.setSchedule(schedule); // Create the query. Query queryResponse = service.queries().create(query).execute(); // Log query creation. System.out.printf("Query %s was created.%n", queryResponse.getQueryId());
Python
# Display name of the query to create. display_name = display-name # The report type. report_type = report-type # The advertisers and campaigns by which to filter report data. filtered_advertiser_ids = [advertiser-id,...] filtered_campaign_ids = [campaign-id,...] # The dimensions and metrics for the report. dimensions = [dimension,...] metrics = [metric,...] # Build list of FilterPair objects. filters = [] if filtered_campaign_ids != None: filters.extend([ {"type": "FILTER_MEDIA_PLAN", "value": id} for id in filtered_campaign_ids ]) if filtered_advertiser_ids != None: filters.extend([ {"type": "FILTER_ADVERTISER", "value": id} for id in filtered_advertiser_ids ]) # Build query object. query_obj = { "metadata": { "title": display_name, "dataRange": {"range": "LAST_7_DAYS"}, "format": "CSV", }, "params": { "type": report_type, "groupBys": dimensions, "filters": filters, "metrics": metrics, }, "schedule": {"frequency": "ONE_TIME"} } # Create query object. query_response = service.queries().create(body=query_obj).execute() # Print new query ID. print(f'Query {query_response["queryId"]} was created.')
PHP
// Display name of the query to create. $displayName = display-name; // The report type. $reportType = report-type; // Advertiser ID and campaign ID by which to filter data. $advertiserIdFilters = array(advertiser-id,...); $campaignIdFilters = array(campaign-id,...); // The dimensions and metrics for the report. $dimensions = array(dimension,...); $metrics = array(metric,...); // Build a list of filter pairs from given IDs. $filters = array(); foreach ($advertiserIdFilters as $advertiserId) { $filterPair = new Google_Service_DoubleClickBidManager_FilterPair(); $filterPair->setType("FILTER_ADVERTISER"); $filterPair->setValue($advertiserId); array_push($filters, $filterPair); } foreach ($campaignIdFilters as $campaignId) { $filterPair = new Google_Service_DoubleClickBidManager_FilterPair(); $filterPair->setType("FILTER_MEDIA_PLAN"); $filterPair->setValue($campaignId); array_push($filters, $filterPair); } // Create the query structure. $query = new Google_Service_DoubleClickBidManager_Query(); // Build and set the metadata object. $metadata = new Google_Service_DoubleClickBidManager_QueryMetadata(); $metadata->setTitle($displayName); $metadata->setFormat("CSV"); $dataRange = new Google_Service_DoubleClickBidManager_DataRange(); $dataRange->setRange("LAST_7_DAYS"); $metadata->setDataRange($dataRange); $query->setMetadata($metadata); // Build and set the parameters object. $parameters = new Google_Service_DoubleClickBidManager_Parameters(); $parameters->setType($reportType); $parameters->setGroupBys($dimensions); $parameters->setFilters($filters); $parameters->setMetrics($metrics); $query->setParams($parameters); // Build and set the schedule object. $schedule = new Google_Service_DoubleClickBidManager_QuerySchedule(); $schedule->setFrequency("ONE_TIME"); $query->setSchedule($schedule); // Call the API, creating the query. $queryResult = $this->service->queries->create($query); printf('Query %s was created.<br>', $queryResult->getQueryId());