LocateRight

Bulk analysis

Analyze several locations at once from a CSV list. Raw observations only — no ranking.
Runs one Google collection per site (up to 15 sites per request).

What a bulk row actually returns

The bulk tool is a screening mechanism, not a decision. You supply a list of candidate coordinates; it returns one row of raw observations per site, measured over the radius you gave for that site. Nothing in the response ranks the rows, scores them, or declares a preferred site — those are conclusions the underlying data cannot carry, and the tool is built so it cannot imply them by omission. If you need a comparison rather than a measurement, the business location analysis page explains what each individual column means, and how to choose a business location covers the sequence a shortlist should follow.

Columns in the output table

ColumnWhat it isWhat it is not
LabelThe identifier you supplied, echoed backA rank or an ordering
StatusWhether that row analyzed, and its error text if notA quality score for the location
PlacesCount of place records returned inside the row's radiusA count of competitors; the place set includes every business in the radius
CategoriesThe three most frequent business categories in that setA market-share estimate
Mean ratingArithmetic mean of published ratings, where a place has oneA quality judgement of the area
Reviews totalSummed review counts across the same setDemand, footfall or revenue
ClosedPlaces recorded as closed or permanently closedTurnover, failure rate or vacancy
PopulationGridded resident headcount summed over the radiusA customer count; see the methodology page for resolution limits

The CSV contract, and what is rejected before any cost is incurred

The header must be exactly label,lat,lon,radius_m or label,lat,lon,radius_m,biz, in that order. A label is required and may not be empty. Latitude must fall between -90 and 90 and longitude between -180 and 180. The radius is an integer number of metres between 100 and 20,000. The optional biz field takes a single comma-free business-type key, checked against the collector's own filter list; an unrecognised key is an error rather than a silent fallback to all businesses.

Two limits are enforced before any collection is attempted. A file longer than twenty rows is refused outright, and a request from a plan without the bulk entitlement is refused before the run is created. Both refusals report google_requests_sent: 0, so the claim that nothing was billed is verifiable rather than assumed. Within a run, rows are processed one after another rather than in parallel: a batch's cost is bounded by construction instead of by a rate limit.

How a bulk run consumes plan allowance

Allowance is metered per location, not per request, and is checked for the whole batch up front so a refusal costs nothing. Only rows that analyze successfully are consumed afterwards — a failed location is not billed as though it had succeeded. This is why a batch of twenty difficult coordinates can cost materially less than a batch of twenty easy ones, and why the consumption figure at the end of a run is worth reading rather than assuming it equals the row count.

Bulk analysis sits on the Agency tier of the plan ladder rather than being available on credit-metered plans, because one bulk site is among the most expensive single operations in the product. The pricing page carries the current allowances; they change, so the page is the authority and this description is not a quotation. Once rows are attached as dated snapshots, portfolio health reads across every campaign and shows which clients are going stale.

Attaching a run to an existing campaign

A run can be pointed at a campaign you already have. Each successful row is matched by label — case-insensitively, and optionally against a site-label prefix — to a site that already exists there, and the observation row is attached to it as a dated snapshot. A row whose label matches nothing is reported as unmatched and skipped: this endpoint never creates sites, so a typo in a label cannot quietly grow a campaign with rows you did not intend. Campaign-based comparison of two dated states is covered under business expansion analysis, and portfolio health reads the snapshots across every campaign once rows start accumulating.

Why the table has no total row

There is no total, no average across sites, and no "best site" line, and that omission is deliberate. Averaging a population figure across sites measured over different radii produces a number that describes no actual place. Choosing one row over another is a judgement about your business, your customer and your risk tolerance — inputs this tool does not have and does not ask for. The measurement is the product; the decision stays with you, and the methodology page sets out in full where each figure comes from and where each one stops.

Bulk screening: questions this page answers

What does one bulk row cost in collection requests?
A fixed budget of four Google Places requests per site, taken from the bulk collection budget rather than the plan's wider Places allowance. The figure is the same for every row in a run, which is why the cost of a batch is predictable before you start it.
How many locations can one request carry?
At most twenty. A CSV with more rows is refused before any collection runs, and the refusal states that nothing was sent to Google. Longer candidate lists are split into batches of twenty.
What happens when a site in the CSV fails?
The row is returned with its error text and empty measurement cells rather than dropped, and it is excluded from the monthly consumption count. Only rows that actually analyzed consume allowance, so a batch of mostly-failing sites costs close to nothing.
Does a bulk run rank the sites for me?
No. The output is a table of observations per site: places count, category mix, mean rating where published, total review count, closed count and population. There is no score, no ordering by attractiveness and no declared winner, because those would be judgements the underlying data cannot support.
What are the radius limits for each row?
Between 100 and 20,000 metres. The radius is per row, so different candidates in the same file may be measured over different areas; the radius is carried with the row so a comparison is never silently made across unequal areas.
Which business type filter can a row use?
One comma-free business-type key per row, validated against the collector's own filter list, or left empty to count all businesses. A row whose key is not recognised is rejected at parse time, before any collection.
Can a bulk run create new campaign sites?
No. Rows are matched by label to sites that already exist in a campaign, and an unmatched row is reported as unmatched and skipped. Nothing is written for it.
What does the population column come from?
The same gridded population source used elsewhere in the product, summed over the row's radius. It is a resident headcount, not a customer count, and it carries the resolution limits described on the methodology page.