The Scenario
You inherited the analytics project from someone who left the team three weeks ago. The handoff notes say "session IPs are in column A of the Sessions tab" and not much else. You have 2,000 anonymous session IP addresses and a product review next Thursday where you need to show feature adoption broken out by region and time zone.
The data is there. What is missing is the geography.
The bad version:
- Pull the IP list out of the sheet, write a Python script that calls the ipdata.co API in 100-IP batches, handles rate limits, and writes a CSV.
- Realize the CSV columns do not match the sheet columns and spend an hour reconciling.
- Discover that 47 rows have malformed IPs from a logging bug and the script crashes at batch 9.
The product review is not going to wait while you debug batch processing code you did not write and do not fully understand.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It understands the session data you are looking at, calls ipdata.co in bulk, and writes country and time zone fields directly into the columns you specify.
Use the ipdata.co bulk lookup to enrich all IP addresses in column A with country name, region, and time zone — process in batches of 100 and fill columns B through D.
What You Get
- Column B: country name for each session (e.g., "Germany," "Brazil")
- Column C: region or state string where available
- Column D: IANA time zone identifier (e.g., "Europe/Berlin," "America/Sao_Paulo")
- Malformed or private IPs noted inline so you can see which rows need investigation without losing the rest of the enrichment
What If the Data Is Not Quite Ready
The IP column has mixed IPv4 and IPv6 addresses
Enrich all IP addresses in column A with ipdata.co for country name and time zone, writing to columns B and C. Handle both IPv4 and IPv6 formats correctly. Note any IPs that returned no data in column D.
You need currency alongside region for the pricing analysis
For each IP in column A, fetch the country code and currency code from ipdata.co and write them to columns B and C. Then add a session count per currency as a summary table starting at row 2005.
Sessions span multiple tabs and need to be joined first
Combine the IP addresses from the Sessions-Jan tab column A and Sessions-Feb tab column A into a deduplicated list, enrich each with ipdata.co for country and time zone, and write the results back to a new tab called Region-Summary with columns: IP, Country, Timezone, Session Count.
Kill-chain: clean the IPs, enrich, segment, and build the adoption breakdown
In column A of the Sessions tab, strip any whitespace from each IP. Then enrich with ipdata.co for country name, region, and time zone, writing to columns B, C, and D. Finally, add a pivot summary on a new tab called Adoption-By-Region showing row counts grouped by country and sorted descending.
Ask for the cleanup, enrichment, and summary in a single prompt and SheetXAI handles the sequencing.
Try It
Get the 7-day free trial of SheetXAI and open your session log sheet, then ask SheetXAI to map column A to countries and time zones using ipdata.co. See also adding local currency columns from IP addresses or the ipdata.co hub overview.
