# Changelog of Google Maps Rank Tracker (`vasram/google-maps-rank-tracker`) Actor

- **URL**: https://apify.com/vasram/google-maps-rank-tracker/changelog.md
- **Full Actor documentation**: https://apify.com/vasram/google-maps-rank-tracker.md

## Changelog

All notable changes to the Google Maps Rank Tracker actor will be documented in this file.

### \[1.1.26] - 2026-09-13

#### Changed — README repositioning & honest claims (Store listing SEO)

- **Repositioned the README** around the honest wedge: "affordable, pay-per-scan
  LocalFalcon-style geo-grid tracking — no subscription, no expiring credits"
  instead of unscoped equivalence claims ("works just like LocalFalcon",
  "same functionality").
- **Scoped the price claim**: "about half of LocalFalcon's pay-as-you-go price"
  ($0.05/point rate, math shown) — no longer presented as a blanket "50% cheaper".
- **Added an honest "When LocalFalcon is the better choice" section** (larger
  grids up to 21×21, AI features, high-volume subscriptions) — protects readers
  from churn and the listing from misleading-content rules.
- **Removed the "15×15 Coming soon" pricing row** (grid size is not supported).
- **Fixed competitor facts**: LocalFalcon's outdated "no free tier" claim removed;
  its rates sourced from the published pay-as-you-go pricing. Competitor names
  are now plain text (no outbound links); the unverifiable multi-tool comparison
  table was replaced with verified numbers + prose.
- **SEO**: long-tail keyword headings added ("Pay-per-scan pricing — no monthly
  subscription", "Google Maps geo-grid rank tracker API", "LocalFalcon
  alternative — an honest comparison"); removed the trailing keyword-dump
  section; new FAQ answers target "cheapest LocalFalcon alternative",
  "free trial", and "monthly subscription vs pay-per-scan" searches.
- **actor.json description** updated to match the new positioning (removes the
  "Free ... alternative" overclaim).

#### Fixed — Actor health & reliability (Store QA test failures)

- **Resilient geocoding**: `location` → coordinates now falls back through a
  chain — Nominatim (primary, unchanged happy-path results) → Photon
  (komoot) → Serper Places — instead of failing the scan when Nominatim
  throttles datacenter IPs. Successful geocodes are cached in a named
  KV store (`geocode-cache`) so repeat locations never re-hit the geocoder.
  Nominatim now also retries transient 403/429/5xx/timeout responses.
- **Structured error output**: if geocoding fails entirely, the run pushes a
  `status: "ERROR"` dataset item (with `errorType`/`error` details) instead
  of exiting with an empty dataset. No PPE charge is made for a scan that
  did not happen.
- **Scan deadline**: the grid-scan phase is bounded by a 210s budget and the
  geocoding phase by 45s. Degraded upstream APIs can no longer push a run
  past Apify Store's 5-minute prefilled-input test limit — points not
  scanned in time are reported as not-found and the run completes.
- **Lenient input validation**: recoverable inputs no longer fail the run —
  unsupported `gridSize` snaps to the nearest supported size (PPE charge
  always matches the grid actually scanned), `radius` clamps to the
  supported range, invalid `gridSpacingKm` falls back to auto spacing.
  Genuinely un-scannable inputs (missing business name, keyword, or
  location/coordinates) still fail fast with a clear message.
- **Hardened storage paths**: dataset push retries once on transient
  storage errors; status-message updates and malformed-API-JSON responses
  (HTTP 200 with invalid body) can no longer crash a successful scan.

### \[1.1.0] - 2026-06-06

#### Added

- **7×7 and 9×9 Grid Sizes**: Deep analysis with 49 or 81 grid points for competitive markets and agency reports. PPE pricing: $1.10 (7×7) and $1.80 (9×9).
- **Bulk Multi-Location Scanning**: Scan up to 10 businesses in a single run using the `businesses` array input. Each business is validated, scanned, and charged independently — perfect for agencies managing multiple clients.
- **White-Label Reports**: New `agencyName` and `agencyLogo` input fields inject your agency branding into the HTML report — navbar, footer, and page title. Default branding is used when no agency fields are set.
- **Scheduling Guide**: Step-by-step instructions in README for setting up automatic weekly scans via Apify Schedules.

#### Changed

- **PPE Charging**: Now uses dynamic event names (`scan-3x3`, `scan-5x5`, `scan-7x7`, `scan-9x9`) instead of the previous hardcoded 3x3/5x5 split. New events must be configured in Apify Console Monetization.
- **Actor Description**: Updated with explicit SEO keywords for better Apify Store discovery — "LocalFalcon alternative", "geo-grid rank tracker", "SoLV score", "bulk multi-location".
- **Input Schema**: `businessName` no longer globally required (allows bulk-only mode). Added `businesses`, `agencyName`, `agencyLogo` fields with three collapsible sections.
- **README**: Comprehensive update — features list, comparison tables, pricing tables, input config table, FAQ all reflect new capabilities.

#### Fixed

- **PPE event naming**: Grid sizes beyond 5×5 previously fell through to the `scan-5x5` event, which would undercharge for larger grids. Now each grid size maps to its own PPE event.

### \[1.0.1] - 2026-06-01

#### Added

- **Interactive HTML Dashboard Improvements**: Better trend tracking metrics and layout.

#### Changed

- **Input Schema Simplification**: Refactored the Apify UI input schema. Now only 4 essential fields (Business Name, Keyword, Location, Grid Size) are visible by default. All other fields (radius, measurement, language, country, competitors) are moved under a collapsible "Advanced Settings" section to dramatically improve the user onboarding experience.
- **Removed Proxy Network**: The fallback to direct requests was always successful, so removing the proxies reduces execution time and prevents unnecessary terminal warning logs.
- **SEO & Discovery Updates**: Adjusted README and dataset schemas to meet Apify Quality Score best practices.

#### Fixed

- Fixed an issue where the `placeId` and `country` regex pattern validation in the UI would block users from running the actor if they left the optional field empty.

### \[1.0.0] - 2026-05-18

#### Added

- Initial release.
- Core Geo-grid ranking capability (3x3, 5x5).
- Share of Local Voice (SoLV) calculation.
- Average Rank Position (ARP) calculation.
- Competitor leaderboard and gap analysis.
- Zone-by-zone analysis (N, S, E, W, Center).
- Automated insights and recommendations.
- Trend comparison between historical scans.
- Interactive HTML heatmap dashboard generation.
- JSON, CSV, and XML output formats.
