Frequently asked questions
Everything you need to know about data privacy, warehouse security, ad platform reconciliation, and verifiable SQL analytics.
Security & Privacy
DataLens does not replicate your database. Every query runs live against your connected warehouse or ad accounts — there is no background sync and no copy of your tables. What is persisted is the conversation itself: your questions, the answers, the generated SQL, your visualization settings, and up to 50 rows per message of the result behind an answer, so a past analysis still renders when you reopen it. Deleting a conversation removes it. The Privacy page has the full retention disclosure.
All credentials (database service account keys, OAuth tokens, and LLM API keys) are encrypted at rest using industry-standard AES-256-GCM encryption. Credentials are only decrypted temporarily in memory during server-side query execution and are never logged, exposed to client browsers, or shared with third parties.
DataLens does not train any model on your data, and does not share it with anyone but the AI provider you pick. That provider receives the messages in the turn you send — that is what generates the answer — and its own API terms govern retention and training from there. Rather than ask you to take a vendor contract on trust, DataLens gives you a switch that removes the question: turn on Hide identifying values (Settings → Privacy) and the identifying text never reaches the provider at all. You can also bring your own provider key, or point DataLens at a local OpenAI-compatible endpoint, so your data only goes where you have already contracted for it.
No, and it is enforced in code rather than by policy: before any generated query reaches BigQuery, DataLens rejects it unless it is a plain SELECT (or a WITH … SELECT), and it blocks INSERT, UPDATE, DELETE, MERGE, DROP, TRUNCATE, ALTER, CREATE, GRANT and EXECUTE IMMEDIATE outright. For least privilege on your side too, connect via a service account scoped to BigQuery Data Viewer + Job User — signing in with Google instead grants DataLens the broader OAuth scope BigQuery requires to start a query job at all.
Yes — Settings → Privacy → "Hide identifying values from the model". With it on, DataLens swaps every identifying value for a stable placeholder on this server, just before the request leaves for the provider, and swaps it back the moment the answer returns. The provider sees DLX_A_7K2M9QRTVX where your data says a customer name; you keep seeing the real name on screen, in charts, and in CSV/Excel exports. Because each value maps to the same placeholder every time, the model can still group, rank, join and filter on it normally — which is why this is pseudonymization rather than encryption. Numbers, dates and platform vocabulary (status, country, device, and so on) are sent unchanged, so every figure stays exact. It is off by default and applies from the moment you switch it on; you can also force any individual column to plain or hidden.
No — and it answers better with less. Give the AI role curated views at fixed grains instead of raw tables, tokenised identifiers instead of raw names and emails, windowed history instead of full archives, and byte-scan caps. Enforce this in database roles rather than prompt instructions: if a credential can reach a table, assume it will be reached.
Integrations & Sources
Today: Google BigQuery, Google Ads, Meta Ads (Facebook/Instagram), Google Sheets, and direct CSV/Excel uploads. PostgreSQL, MySQL and Snowflake are on the roadmap but are not connectable yet — if one of those is your primary warehouse, tell us and it moves up the queue.
Yes! Cross-platform data harmonization is a core feature of DataLens. You can ask complex cross-source questions like "Compare our blended Google & Meta ad spend against actual completed orders in our database for the last 30 days," and DataLens handles the unified join logic automatically.
No. DataLens connects directly to your live data platforms and translates natural-language questions into valid, optimized SQL on the fly. You do not need to build complex dbt models, data marts, or ETL transformation jobs just to ask business questions.
Yes. You can drag and drop CSV or Excel files, or connect Google Sheets directly in your chat session. DataLens parses sheet tabs into temporary queryable schemas, allowing you to join external target sheets against production database numbers.
Only if you deliberately persist them. Click IDs arrive on the landing-page URL but die at redirect chains, cross-domain checkout hops, consent-delayed storage and iOS stripping. Storing them on the order row at checkout (plus a server-side conversions API with matching event IDs) is the cheapest durable attribution upgrade most stores never do — it typically moves a quarter of "Direct" revenue back to its real campaign.
Yes — offline conversion imports match closed-won deals, delivered COD orders or store sales back to the original click via stored click IDs or hashed email/phone. Bid on the outcome closest to money that still clears roughly 30 events a month per campaign, upload daily with outcome timestamps, and retract refunds so bidding stops finding refund-prone buyers.
Run three layers of scheduled validation queries: freshness (when did each table last grow), shape (today's volume and null rates vs the trailing-7-day median) and reconciliation (warehouse spend vs platform API, warehouse orders vs store admin). Route them to a channel with a named owner, and always separate "data is late" from "data is wrong" in the alert text.
Weekly, spend-sorted, in about 30 minutes: negate junk instantly, hold intent-adjacent terms to a ~2x target-CPA significance bar before negating, and promote proven queries to exact match with their own bids. Monthly, run an n-gram aggregation to catch systemic words ("jobs", "free") spread across hundreds of tiny terms that row-by-row review never surfaces.
AI & Text-to-SQL
Every answer ships with the exact SQL that produced it, expandable in place — you can read the joins, the WHERE filters and the aggregation grain without leaving the conversation. Alongside it, one-click Verify re-runs that same query live against your warehouse and flags any drift from the numbers the answer reported, along with how many bytes it scanned and what that cost.
DataLens inspects table schemas, column types, and relational foreign keys, and lets you attach schema notes (e.g. "order_status = completed indicates paid orders"). This semantic layer ensures the AI maps terms like "Net Revenue" or "Active Subscriptions" to your team's exact column definitions.
Yes. DataLens is model-agnostic. Bring your own key for Google Gemini, Anthropic Claude, OpenAI, xAI Grok, Moonshot Kimi, NVIDIA NIM or OpenRouter, or request access to managed DataLens Cloud models, which are enabled after a short review. You pick the model per conversation, so you retain control over which provider ever sees your questions.
Yes. For teams with strict air-gapped security or compliance requirements, DataLens supports connecting to custom OpenAI-compatible local endpoints (such as Ollama or vLLM running on your private VPC hardware).
Keep a golden dataset: 20–50 real business questions with hand-verified SQL and numbers, covering your known trap columns (gross vs net, prepaid vs blended, timezone day cuts). Re-run it on every model, prompt or schema change and score the number plus the SQL. Most teams discover failures cluster on missing definitions — fixed with schema notes, not a bigger model.
Costs, Sharing & Plans
Cloud warehouses (like BigQuery) bill by bytes scanned. DataLens performs dry-run estimations before executing queries to surface the exact data volume and estimated cost in advance. You can also configure hard byte-scan limits to prevent accidental full-table scans.
Traditional dashboards only answer questions that were anticipated months ago when the dashboard was built. When you need an ad-hoc breakdown (e.g., "Show me refund rates for first-time buyers who came from TikTok Ads last week"), a dashboard requires submitting a ticket to the data team. DataLens answers ad-hoc questions in seconds with live, verifiable SQL.
A 20% discount typically removes 30–40% of per-order contribution (costs do not shrink with price), borrows demand from the weeks after the sale, and trains customers to wait for the next one. Report promo windows on net realised margins with a recomputed breakeven, measure the post-sale hole against baseline, and track full-price conversion decay semi-annually.
Compare cumulative spend against a prorated expectation: monthly budget spread by elapsed time in the account timezone, weighted by weekday shape, with today prorated to the current hour and labelled provisional. Sustained deviation beyond ±10% across two reads means act; a single intraday read means watch. Underspend deserves the same urgency as overspend — unspent seasonal budget never returns.
Every new Google sign-in gets a 7-day free trial with its own private project — no credit card, so nothing is ever charged automatically. When the 7 days end, the account pauses rather than silently downgrading: your workspace admin can upgrade it, or you get in touch and we scope a plan around your data stack, team size and usage. During the beta, pricing is agreed per engagement rather than from a public price card.
Have a question not answered here?
We are happy to walk through your specific database schema, security setup, or attribution tracking questions directly.