4 formas de conectar Google DV360 ao Claude em 2026
++
Tutorial de Google DV360 + IA · 2026
4 formas de conectar o Google DV360 ao Claude em 2026 (a maneira fácil)
Conecte o Google DV360 ao Claude via MCP em menos de 5 minutos. Sem código, sem tokens, sem ajuda de desenvolvedor — cole uma URL e comece a fazer perguntas sobre suas campanhas em português.
rocket_launch Experimente grátisTeste gratuito de 14 dias ilimitado. Depois, mantenha consultas ilimitadas para até 3 contas de anúncios e 30 dias de dados históricos — sem cartão de crédito.
Fundador, Porter Metrics · 4 de maio de 2026 · 22 min de leitura
boltTL;DR
Para conectar o Google DV360 ao Claude via MCP: copie mcp.portermetrics.com/mcp, acesse Claude.ai, abra Conectores → Gerenciar conectores → Adicionar conector personalizado, cole a URL e faça login. A partir daí, pergunte ao Claude qualquer coisa sobre suas campanhas do Google DV360 em linguagem natural.
Uma vez conectado, você pode automatizar seus relatórios e análises do Google DV360 — faça perguntas sobre seus dados, crie dashboards, configure alertas ou envie relatórios prontos para o cliente como o abaixo.
Pré-requisitos
Uma conta Porter Metrics com sua conta Google DV360 conectada (o plano gratuito é suficiente para experimentar de ponta a ponta)
Uma conta Claude — o plano gratuito funciona para o Claude Web; uma assinatura Pro é necessária para os recursos do Claude Code e Desktop MCP
Acesso de administrador ou padrão aos anunciantes do Google DV360 que você deseja conectar
Conectar o Google DV360 ao Claude com MCP
Neste tutorial, vamos usar o método MCP. Aqui está uma explicação rápida do que é o MCP e por que é o melhor caminho para o Google DV360.
MCP (Model Context Protocol) é o padrão aberto que permite que ferramentas de IA como Claude, ChatGPT, Claude Code e outras acessem e usem APIs externas — os elementos que fazem ferramentas como o Google DV360 funcionar nos bastidores. Em vez de construir uma integração personalizada para cada ferramenta de IA que você usa, você instala um MCP e toda IA compatível obtém acesso aos mesmos dados.
content_paste
Configuração por copiar e colar
Sem tokens, sem scripts, sem ajuda de desenvolvedor — literalmente cole uma URL no Claude e pronto.
hub
Funciona com todas as ferramentas de IA
Claude, Claude Code, ChatGPT, Cursor, Antigravity, Lovable, Vercel v0, Zapier. Uma URL de MCP, toda ferramenta que fala o protocolo.
merge_type
Mais de 20 fontes em uma conexão
O MCP da Porter inclui o Google DV360 mais Google Ads, GA4, Shopify, HubSpot, Klaviyo, Google Sheets e mais de 20 outras. Consulte e combine todas em uma única conversa.
tune
Granularidade perfeita
Planilhas te limitam às colunas que você exportou. O MCP acessa diretamente a API do Google Display & Video 360 — então você pode filtrar por Advertiser, detalhar por Insertion Order ou Line Item e adicionar novas dimensões na hora sem reconstruir tabelas.
A configuração completa leva menos de 5 minutos e se divide em três passos: conectar o Google DV360 à Porter, direcionar o Claude ao MCP da Porter e fazer sua primeira pergunta.
1. Connect your Google DV360 data to Porter
Porter sits between Google’s Display & Video 360 API and Claude. It handles OAuth, rate limiting, pagination and all the plumbing so Claude only ever sees clean, structured data.
Sign up for Porter. Create a free account at portermetrics.com. The free tier is enough to run this full workflow end-to-end.
Connect your Google account. In Porter, click Create → pick Claude as the destination → select Google DV360 as the source → sign in with Google to grant access to your advertisers.
Select your advertisers. Choose the Google DV360 advertisers you want Claude to query. When you select multiple advertisers under a single connection, Porter automatically blends their data together so you can query them as one.
Optional: enable automatic BigQuery storage if you’re connecting multiple advertisers with large data volumes. This keeps Claude’s responses fast even at scale.
2. Connect the MCP to Claude
Porter’s MCP URL is what you paste into Claude. Once added, Claude can query Google DV360 data on demand in any conversation.
Go to claude.ai and click the + icon in the chat input to open the tools menu.
In the menu that opens, hover over Connectors and click Manage connectors.
In the Connectors panel, click the + button at the top of the list to start adding a new connector.
Pick Add custom connector from the dropdown that appears.
A dialog opens with the name and URL fields. Type Porter in the first field to name the connector.
In the second field, paste https://mcp.portermetrics.com/mcp. Leave the advanced settings alone.
Click Add at the bottom right of the dialog. Claude opens a sign-in window — use the same Google account linked to your Porter workspace and approve access.
Once the authorization finishes, you’ll see Porter’s read-only tools appear in the connectors panel. You’re ready to start asking questions.
For a fuller walkthrough with screenshots at every step, see the Porter MCP tutorial.
3. Start building questions and dashboards
With Porter connected, open a new Claude chat and ask anything about your Google DV360 in plain English. Claude calls Porter behind the scenes, pulls live data from Google, and answers with tables, charts, or summaries.
Try one of these to verify the setup is working:
chat_bubble“Show me my top 5 insertion orders by Media Cost eCPM (Advertiser Currency) last week”
chat_bubble“Flag any line items where Active View: % Viewable Impressions dropped below 50% yesterday”
chat_bubble“Which device type has the lowest Client Cost eCPA (Advertiser Currency) but still getting Post-Click Conversions this week?”
For a full catalogue of copy-paste prompts organized by use case (performance, fatigue, budget, agency, B2B, e-commerce, cross-channel), jump to the prompts section below.
Alternative ways to connect Google DV360 to Claude
MCP is the path we just walked through — and the one we recommend for most marketers. But it’s not the only way to get Google DV360 data in front of Claude. The most common alternatives are Google DV360’s direct API (or its official MCP if it has one), a live Google Sheets bridge, and BigQuery for scale. Each has its trade-offs — pick the one that fits how your team already works.
🔌 Google DV360’s direct API (or official MCP) — Talk to Google’s Display & Video 360 API yourself, or install Google DV360’s native MCP if one exists. Maximum control, but you handle auth, rate limits and pagination — and you only get one source.
📊 Google Sheets — Live Sheet or one-off CSV upload. Auditable, familiar, faster for big exports — but aggregation happens in the Sheet, not the API.
🗄️ Google BigQuery — For large advertisers or agencies running multi-advertiser analysis. BigQuery aggregates; Claude only queries pre-built summaries.
Via Google DV360’s direct API (or official MCP)
If you’re building a product around Google DV360 — or you’re a developer who’d rather own every layer of the integration — the most direct path is talking to Google’s Display & Video 360 API yourself. Google doesn’t ship an official DV360 MCP yet, so this means writing API calls directly in Claude Code or in your own scripts. You’ll need to follow Google’s rate limits & quotas and request OAuth 2.0 access with the display-video scope. Either way, you skip Porter entirely and call Google from your own code or from Claude Code with raw HTTP requests.
The trade-off to know.
When this makes sense:
Via Google Sheets (live Sheet or manual CSV)
If your team already lives in Google Sheets — or you want a paper trail before Claude touches anything — feed Google DV360 into a Sheet, then let Claude read the Sheet. You can automate the Google DV360 → Sheets pipeline with Porter so it refreshes daily, or do one-off CSV exports from Display & Video 360’s native UI for static analysis.
The trade-off to know.
When this makes sense:
Via Google BigQuery (for scale)
This is the path most people overlook — and it’s the one that saves you when your Google DV360 advertiser gets serious. A single large advertiser or an agency managing 10+ advertisers will hit API rate limits and latency problems querying Claude directly. Claude will literally tell you it’s taking too long or timing out on big pulls.
BigQuery fixes that. You load Google DV360 data into BigQuery tables on a schedule, then connect BigQuery to Claude — either through a BigQuery MCP or via Claude Code with SQL queries. Instead of asking Claude to pull raw Google DV360 data, you let BigQuery aggregate into small, optimized tables, and Claude only queries the summarized output. Scale problem solved.
Most marketers lump Claude and Claude Code together and miss the biggest advantage of the entire MCP ecosystem. They’re not the same tool — and the difference matters enormously once you start working with Google DV360 data seriously.
Claude is a chat interface. You ask a question, Claude pulls live data through the MCP, answers, maybe builds a quick dashboard inside the conversation. Great for one-off analysis. The problem: everything is ephemeral. Want to refresh the dashboard tomorrow? You regenerate it from scratch. Want the same report every Monday? You re-ask the question every Monday.
Claude Code is Claude running inside your computer’s terminal. Because it has access to your filesystem, runtime, and other developer tools, it doesn’t just answer questions — it can build real software. Persistent scripts, scheduled routines, HTML apps, internal dashboards, integrations that run 24/7 without your input. Once it’s connected to Porter’s MCP for Google DV360, a whole category of work becomes possible.
What Claude Code unlocks that Claude alone cannot
This is where the MCP ecosystem pays off most. Because Claude Code can combine Porter’s MCP with other MCPs — Firecrawl for web scraping, Airtable for structured data, Notion for wikis, Vercel for deployment, Slack and Gmail for delivery — you’re no longer querying data. You’re building tools.
Feed Claude Code your Google DV360 targets and goals — CPA goals, daily budgets, ROAS thresholds — and ask it to generate a custom ROI dashboard for each client. It builds the HTML, pulls live data, deploys to a URL. No Data Studio embed to break when the vendor changes pricing, no template constraints. The dashboard updates automatically because it queries Porter’s MCP on every page load.
Best for: agencies that want white-label client dashboards without Looker or Data Studio dependencies.
🔍 Full competitor + performance monitoring
Stack: Porter MCP + Firecrawl MCP
Combine your own Google DV360 performance from Porter with competitor landing pages and live ads from the Meta Ad Library scraped via Firecrawl. Claude Code stitches both into a weekly competitive intelligence report — your numbers next to their creative angles and pricing, with an LLM summary on top of what changed week over week. Runs on cron, lands in your inbox every Monday morning.
Best for: in-house teams that need market context, not just internal numbers.
📚 Internal marketing wiki with live metrics
Stack: Porter MCP + Airtable MCP (or Notion MCP)
Use Airtable or Notion as the schema, Porter as the data source. Claude Code keeps every page populated with current spend, CPA, and ROAS for every advertiser — no stale screenshots, no copy-paste from Excel. New hires read one wiki entry and have full context on a client’s account.
Best for: agencies and ops teams onboarding analysts or rotating account managers frequently.
🔔 24/7 alerts on spend, CTR, and quality drops
Stack: Porter MCP + Slack MCP (or Gmail MCP)
A Claude Code routine on cron pulls Google DV360 via Porter, evaluates thresholds — CTR drops below 1%, daily spend spikes 2× the trailing average — and pushes Slack or Gmail alerts the moment something crosses the line. You stop checking dashboards reactively; the dashboard checks itself and tells you when to look.
Best for: any team that’s ever discovered a problem 48 hours too late because nobody opened the report.
Bottom line: Claude is for quick questions and ad-hoc dashboards. Claude Code is for building apps, live dashboards, alerts, and actual tools — anything you want to run on its own without re-asking. Same Porter MCP URL works in both, so you don’t pick once and lock in.
Use cases — what you can actually do once Google DV360 is connected to Claude
Getting the connection right is half the battle. The real value shows up in what you do next. Here are the use cases Porter users build around their Google DV360 data — from simple Q&A to full client-facing workflows.
1. Chat and ask questions directly
The simplest use case — and still the one 80% of marketers start with. Open Claude, ask a question, get an answer grounded in live data.
chat_bubble“Show me my top 5 insertion orders by Media Cost eCPM (Advertiser Currency) last week”
chat_bubble“Flag any line items where Active View: % Viewable Impressions dropped below 50% yesterday”
chat_bubble“Which device type has the lowest Client Cost eCPA (Advertiser Currency) but still getting Post-Click Conversions this week?”
It’s the fastest way to replace a daily Display & Video 360 UI check-in. But chat is table stakes — the interesting use cases come next.
2. Blend Google DV360 with your revenue data (Stripe, HubSpot, Shopify)
This is where a 360° view gets real. When you connect Google DV360 and your revenue source (Stripe for SaaS, HubSpot CRM for B2B, Shopify for e-commerce), Claude can map programmatic campaigns to actual closed-won deals or purchases — using UTMs, campaign names, and timestamps — and give you attribution that no platform-side number can.
chat_bubble“Cross-reference my DV360 insertion orders with my HubSpot closed-won deals from the last 90 days”
chat_bubble“Compare my Post-View Conversions this quarter versus last quarter by insertion order”
Claude handles the UTMs, campaign names, and timestamps mapping and joins. You get a client-ready attribution report that no single platform can generate on its own.
3. Automated alerts and notifications on Slack or Gmail
With Claude Code you can turn Google DV360 monitoring into a routine that runs on its own. Hook Porter’s MCP (for the data) together with a Slack or Gmail MCP (for delivery), then write a Claude Code scheduled task that pulls performance every morning and pings you only when something actually needs attention.
chat_bubble“Alert me when any insertion order’s Line Item Pacing Percentage drops below 80%”
chat_bubble“Notify me when Client Cost eCPM (Advertiser Currency) spikes 2× above the trailing 7-day average”
No dashboards, no daily check-ins. The report comes to you — and only when it matters.
4. Client-ready presentations with live data (Gamma, HTML, PDF)
A common agency pain: you send clients a Data Studio link, Looker breaks, the client panics — and you spend an hour explaining a broken dashboard. With Claude you can build the presentation itself — as a Gamma deck, a custom HTML page, or a PDF — populated with live numbers each time.
chat_bubble“Build a client-ready presentation showing my DV360 line item performance by device type and DMA for this month”
chat_bubble“Generate a PDF report of my insertion order budget burn vs. pacing for all active campaigns”
The presentation becomes a delivery artifact you send to the client, not a dashboard that depends on another tool staying up. No broken iframe, no login prompts, just the content.
Google DV360 fields and metrics you can query with Claude
Before you start writing prompts, it helps to know what data is actually available. Porter MCP gives Claude access to 812 Google DV360 fields and metrics across every reporting level, plus breakdowns by audience, placement, device, and geography. And the same MCP URL also unlocks 25+ other sources — so Claude can blend Google DV360 with Google Ads, GA4, Shopify, HubSpot and more in a single prompt.
Audience breakdowns: Device Type, DMA, Audience Segment, Age, Gender, Browser, Operating System, City, Country, Inventory Source, Placement (All), Line Item Type
Cross-channel sources (same URL): Google Ads, GA4, Shopify, TikTok Ads, LinkedIn Ads, HubSpot, Search Console, +15 more
Prompts you can copy-paste today
For agencies
Use these when managing multiple DV360 advertisers or building client reports.
chat_bubble“Show me my top 5 insertion orders by Media Cost eCPM (Advertiser Currency) last week.”
chat_bubble“Draft a client-ready summary of my line items’ Line Item Pacing Percentage for this month.”
chat_bubble“Flag any line items where Active View: % Viewable Impressions dropped below 50% yesterday.”
chat_bubble“Which device type has the lowest Client Cost eCPA (Advertiser Currency) but still getting Post-Click Conversions this week?”
For B2B marketers
Use these for long sales cycles, post-view attribution, and coordinated ABM reach.
chat_bubble“Compare my Post-View Conversions this quarter versus last quarter by insertion order.”
chat_bubble“Why did my Cost / Conversion (Advertiser Currency) spike on March 15? Pull the breakdown by line item.”
chat_bubble“How does my Unique Reach: Incremental Impression Reach compare between desktop and mobile last 30 days?”
chat_bubble“Cross-reference my DV360 insertion orders with my HubSpot closed-won deals from the last 90 days.”
For e-commerce teams
Use these for TrueView shopping funnels, ROAS by line item, and completion rate analysis.
chat_bubble“List my worst 3 line items by Revenue (Advertiser Currency) per Impressions this month.”
chat_bubble“Which audience segment is cheapest on Media Cost (Advertiser Currency) but still driving Post-Click Conversions last 14 days?”
chat_bubble“Project my TrueView: Views for next week based on the last 3 weeks’ trend.”
chat_bubble“Why did my Completion Rate (Video) drop last Tuesday? Show me the line item breakdown.”
Cross-channel
Use these when blending DV360 with Google Ads, GA4, or other sources in one conversation.
chat_bubble“Cross-reference my DV360 line items with my Google Ads campaigns from last month. Which channel had lower Cost / Conversion (Advertiser Currency)?”
chat_bubble“Build a single table comparing my DV360 Media Cost (Advertiser Currency) and Google Ads spend week over week.”
chat_bubble“Which DMA gives me the cheapest Media Cost eCPM (Advertiser Currency) in DV360 versus Google Ads this quarter?”
chat_bubble“Compare my DV360 Post-Click Conversions trend versus my GA4 total conversions this month versus last month.”
Limits, safety, and best practices for Google DV360 via Claude
chat_bubble“Google has reduced the DV360 API v3 quota limits to 1,440 requests per day and 60 requests per minute, compared to the previous v1 limits of 86,400 per day and 600 per minute. This is a 98% reduction in daily quota.” — PPC.land, Google Updates Display Video 360 API v1 Changing Quota Limits, 2024.”
This quota collapse broke automated reporting pipelines for agencies running large DV360 accounts. A programmatic trader querying line-item pacing across 50+ advertisers could burn through the entire v3 daily quota in a single morning — not because they were doing anything wrong, but because Google deprecated v1 without warning and slashed v3 limits by two orders of magnitude. The cost wasn’t a ban; it was a silent, workflow-breaking throttle that left teams without fresh data during a campaign flight. This is the DV360 risk profile in a nutshell: the API is safe, but the guardrails are tight, and hitting them is easier than most marketers expect.
Google’s DV360 API enforcement is quota-based, not behavior-based. Google does not ban or suspend DV360 accounts because you used Claude, an MCP server, or any other API client. It throttles (HTTP 429 RESOURCE_EXHAUSTED) when a single Google Cloud project exceeds its daily or per-minute request quota — currently 1,440 requests per day and 60 requests per minute for API v3, with write requests capped at 30 per minute. Read-only access is safe and never triggers enforcement. Parallel API bursts, bulk write operations, or concurrent SDF downloads above 20 tasks per user are what trigger throttling. The system also returns 409 ABORTED when concurrent modifications collide. There is no “three strikes” policy, no account review, and no risk of losing DV360 access. The worst-case scenario is a temporary delay until the quota window resets.
The two ways to burn through your Google DV360 quota
After reviewing official docs and community threads, two patterns come up again and again.
1. Parallel API bursts that exhaust the 1,440 daily request quota. Querying every line item, creative, and insertion order across a large partner hierarchy in rapid succession — especially with multiple users or automated scripts — can burn the entire daily quota in minutes. When the quota is exhausted, all API calls return 429 RESOURCE_EXHAUSTED until midnight Pacific Time. The fix: batch requests, filter by date range and advertiser, and use SDF (Structured Data File) downloads for bulk data instead of iterative API calls. Source: Google DV360 API Quota Guide
2. Treating DV360 reporting data as real-time when it has a 2–4 hour latency window. DV360 impression and engagement data is not real-time; it is typically available with a 2–4 hour delay (and sometimes next-day for certain verification metrics). Marketers who query “today’s” spend or pacing and make budget decisions based on it are working with stale data. This doesn’t trigger API enforcement, but it causes real financial damage — under-pacing insertion orders, overspending on poor-performing line items, or missing frequency-cap breaches. The fix: always query with a 4–6 hour lookback buffer, and use DV360’s native pacing alerts for same-day decisions rather than API polling. [Source: Google DV360 Reporting Data Freshness — plain text, no link available]
Both behaviors trigger temporary throttling (HTTP 429) or stale-data decisions. If you want to use Claude for Google DV360 safely, use Porter MCP which batches requests, enforces lookback buffers, and stays well inside Google’s quota windows.
The 5-rule scaling protocol
Based on Google DV360’s documented quotas and the behaviors that have actually caused throttling — not guesswork:
Stay under 60 requests per minute and 1,440 per day. Google’s DV360 API v3 enforces 60 requests per minute and 1,440 requests per day per Cloud project, with write requests capped at 30 per minute. Exceeding these triggers 429 RESOURCE_EXHAUSTED and halts all API access until the quota window resets. Source: Google DV360 API Quota Guide Porter MCP enforces this automatically by batching queries and adding exponential backoff on 429 responses.
Limit concurrent SDF downloads to under 20 per user. Google hard-caps SDF download tasks at 20 concurrent jobs per user. Exceeding this blocks new downloads and can deadlock shared service accounts. [Source: Google DV360 SDF Documentation — plain text, no link available] Porter MCP queues SDF requests serially and surfaces a clear error if the limit is approached.
Use API v3 only — v1 and v2 are deprecated. Google deprecated DV360 API v1 and v2; the current base URL is https://displayvideo.googleapis.com/v3. Using legacy versions returns errors or outdated data schemas. Source: Google DV360 API Reference (v3) Porter MCP targets v3 exclusively and handles schema migrations automatically.
Retry 409 ABORTED errors once after a few seconds, then stop. A 409 status means another process modified the same resource concurrently. Blind retry loops amplify quota burn. Google’s guidance is to wait briefly and retry once; if it fails again, surface the conflict to the user. Source: Google DV360 API Quota Guide Porter MCP implements single retry with jittered backoff, then surfaces the error in Claude’s chat instead of looping.
Query with a minimum 4-hour lookback to avoid stale-data decisions. DV360 reporting data has a 2–4 hour freshness delay (and up to next-day for some verification metrics). Querying “today” and acting on the results leads to under-pacing or overspend. [Source: Google DV360 Reporting Data Freshness — plain text, no link available] Porter MCP defaults date ranges to “last 7 days ending yesterday” and warns users when they request same-day data.
What Porter MCP does differently: it enforces these quota and freshness safeguards at the platform level so marketers don’t have to think about them. Porter’s DV360 MCP is read-only by default — no write operations, no risk of concurrent modification conflicts. It batches API requests behind the scenes to stay well under the 60 req/min and 1,440 req/day limits, and it implements exponential backoff with jitter on any 429 responses. SDF downloads are queued serially, never exceeding the 20 concurrent task ceiling. Date ranges default to “last 7 days ending yesterday” to avoid the 2–4 hour freshness gap, with an inline warning if a user asks for same-day data. Porter also uses the correct OAuth 2.0 scopes (display-video and display-video-user-management) and targets API v3 exclusively, eliminating deprecated-version errors. That’s the behavior Google’s automated quota systems handle gracefully — and why DV360 + Porter MCP is one of the safest API integrations in the marketing stack.
Frequently asked questions
What is a Google DV360 MCP?
A Google DV360 MCP (Model Context Protocol) is an open standard that lets AI tools — Claude, Claude Code, ChatGPT, Cursor — connect to your Google DV360 data without custom integrations. Porter’s MCP server makes your Partners, Advertisers, Campaigns, Insertion Orders, Line Items, and Creatives available through one URL: no tokens, no scripts, no developer setup.
What’s the difference between Claude and Claude Code?
Claude is the conversational product (web, app, mobile). Claude Code is a terminal-based developer tool that can write scripts, save files, and automate workflows. Both can connect to Google DV360 via MCP.
How fresh is the data? Is it real time?
No. Google’s DV360 API updates impression and click data every 3-4 hours, conversion data roughly every 6 hours, and cross-environment conversions every 24 hours. Porter MCP pulls the latest available data, so your numbers are always within that window.
Are there rate limits for Google DV360 data?
Yes. Google enforces 1,440 requests per day and 60 requests per minute for DV360 API v3, with write requests capped at 30 per minute. Porter MCP batches requests and implements exponential backoff automatically, so you rarely hit them. (Source: Google DV360 API Quota Guide)
Why do Claude’s numbers sometimes differ from Display & Video 360?
Three common reasons: (1) Refresh lag — the API has a 2-4 hour delay, so “today’s” numbers in Claude lag behind the UI. (2) Currency conversion — DV360 reports in Advertiser Currency, Partner Currency, or USD depending on the view, and the API may default differently. (3) Attribution window — the UI may show a different conversion attribution model than the API query. The fix: always query with a 4-6 hour lookback buffer and verify the currency and attribution settings match.
Will using Claude affect my Google DV360 access or limits?
No. Google doesn’t ban or restrict DV360 accounts for legitimate API usage, and Porter MCP is read-only by default — it stays well inside Google’s normal rate limits. The thing to watch is quota exhaustion from parallel API bursts or concurrent SDF downloads above 20 tasks per user — see the limits section above. (Source: Google DV360 API Quota Guide)
Ready to chat with your Google DV360?
Open Claude, add the Porter connector, and ask your first question. If you don’t have Porter yet, start a free trial and connect your Google DV360 account — you’ll be chatting with your campaigns in under five minutes.