Ether Data · Spatio-temporal intelligence105 entries across 9 categories. Each has an individual page with detection, mitigation, and the conversions it affects — and every conversion method links back to the entries it triggers.
Consecutive repeated coordinates (zero-length segments) in a ring can produce degenerate edges that break area and intersection calculations.
A feature with a null or zero-ring geometry (e.g. GEOMETRYCOLLECTION EMPTY, or coordinates: []) produces no cells and can silently vanish from an audience or trade-area union.
GeoJSON requires exterior rings counter-clockwise and holes clockwise (right-hand rule); reversed winding flips interior/exterior for winding-sensitive fillers.
NaN, Infinity, out-of-range (|lat|>90, |lng|>180), or null coordinate components crash or silently corrupt downstream H3 indexing.
Disjoint parts (islands, exclaves) must all be filled; a single-ring assumption drops parts.
Polygons thinner than a cell can yield zero center-contained cells.
A hole containing an island (hole-in-hole-in-fill) violates simple-polygon assumptions; naive ring parity gets the interior/exterior classification backwards.
Interior rings (donuts) must be respected so cells inside a hole are excluded.
Bowtie/overlapping rings make area and containment undefined.
Douglas-Peucker-style simplification shifts the boundary, moving which cells qualify.
Polygons much smaller than a cell may be missed or over-represented by a single cell.
A cell that only shares a boundary point/edge (zero area) with the polygon.
A polygon ring whose first and last coordinates differ is not technically closed, causing GeoJSON-strict fillers to throw or silently miscompute area.
Geometries crossing ±180° longitude wrap incorrectly, producing world-spanning artifacts when treated as planar.
Land/water boundary polygons vary by data vintage and mean-high-water definition; cells right at the coastline can flip land/water classification between sources.
Areas with contested sovereignty (e.g. Crimea, Kashmir, Western Sahara) may appear in different admin boundary sources assigned to different countries, causing double-counting or gaps in cross-vendor crosswalks.
A region entirely surrounded by another region's territory (e.g. Lesotho in South Africa) can be mis-assigned to the surrounding region by centroid- or overlap-based admin joins.
A region's territory disconnected from its main body (e.g. Kaliningrad, Alaska) is geometrically a separate multipolygon part; overlap-max joins can attribute it to the surrounding region instead of its true owner.
Buffer, distance, and intersection operations computed on raw lat/lng as if it were a flat Cartesian plane diverge measurably from true great-circle geometry, worsening with distance and latitude.
12 pentagon cells per resolution sit at icosahedron vertices; they break the 6-neighbour and regular-shape assumptions and have lower inscribed/circumscribed ratios.
Cells spanning two icosahedron faces are distorted; edges are not symmetric and area varies.
Small islands belonging to a mainland admin region are geometrically disjoint (multipolygon parts) and can be dropped by fillers that assume a single contiguous ring.
Near the North/South poles, longitude lines converge to a point; planar buffering and equirectangular projections badly distort cell shape and area right at the pole cells.
Cells whose entire footprint is open water (ocean, large lake) carry no population/audience but can still be generated by a naive grid fill over a bounding box or coastal buffer.
Web Mercator (EPSG:3857) inflates area and distance with latitude (infinite at the poles); using tile-based Mercator coordinates for area/radius math biases high-latitude markets.
H3 compact() collapses a full set of same-resolution children into their common parent wherever complete; consumers unaware of compaction assume single-resolution set operations.
A set intended to represent 'all children of parent X at resolution N' is missing one or more children (e.g. due to an upstream filter or antimeridian/pentagon edge case), silently under-covering the parent's area.
H3 parent/child cells do not nest geometrically the way quadtree tiles do — a child's boundary is not fully inside its parent's boundary in every case, so geometric point-in-polygon tests can disagree with the logical h3ToParent relationship.
A set mixing resolutions cannot be compared or subtracted without normalization.
A parent and one of its descendants both present double-count the shared area.
Forcing all inputs to a single target resolution (e.g. always coercing to r8) before comparison discards the finer detail of higher-resolution sources and introduces spurious precision on coarser ones.
When an admin/postal boundary source updates, ad platforms and the advertiser's own crosswalk do not necessarily update on the same date; targeting and reporting can briefly use different boundary vintages for the same campaign.
Platforms with 'audience expansion' or 'optimized targeting' features silently deliver impressions outside the submitted geography/audience to hit performance goals, breaking the assumption that delivery equals the requested target.
No polygons/coordinates — everything must be crosswalked to platform IDs, losing sub-unit precision.
Some platform APIs round submitted lat/lng to a fixed decimal precision (e.g. 4 decimals ≈ 11 m) before executing a circle target, shifting the effective center from the intended one.
Ad platforms often cap point-radius targeting at an upper bound (e.g. 50 km); a computed circumscribed or equal-area radius above that ceiling is silently clamped by the platform, shrinking actual coverage below what was reported.
A platform floor (e.g. 1 km) makes sub-floor cells un-executable as circles.
Platforms round radii to increments, changing coverage/overlap.
A platform executes targeting at a fine geography (e.g. H3 r8 or zip+4) but only reports delivery at a coarse level (e.g. DMA or state), masking whether the fine-grained target was actually honored.
Some ad platforms silently dedupe overlapping target geographies or audience segments across line items without disclosing the rule, causing reported vs. delivered reach to diverge in ways not explainable from inputs alone.
'Include A minus B' cannot be expressed on platforms without exclusion support; the exclusion is silently dropped.
Some platforms accept only circles or native geo IDs, not arbitrary polygons; a custom trade-area polygon submitted directly is rejected or silently approximated by the platform's own simplification.
Consent state can coarsen or drop coordinates, changing cell assignment.
US state privacy statutes define precise geolocation by a radius of 1,750–1,850 feet — an area of roughly 0.89–1.00 km². A declared targeting unit smaller than that circle (R8 at 0.737 km² does not clear it; R9 clearly not) is inside the statutory precise band regardless of how the unit was produced, so the resolution declaration itself carries a privacy claim, not only a precision claim.
Ordered high-resolution trajectories are re-identifying even when individual points are not.
Adding calibrated noise (e.g. Laplace/Gaussian mechanism) to protect individual privacy in aggregate counts can distort small-cell counts enough to invert rank ordering between nearby cells if the privacy budget (epsilon) is set too aggressively for the use case.
Targeting resolved down to a single-household granularity (e.g. one residential parcel or a cell containing exactly one dwelling) functions as individually addressable targeting even when labeled as 'neighborhood' targeting.
Reporting a cell-level metric is only privacy-safe if at least k individuals share that cell/attribute combination; enforcing k only on the cell dimension while ignoring cross-tabulation with other dimensions (age, segment) can still expose small groups.
Reporting audience or visit counts over too short a time window (e.g. hourly) at fine spatial resolution can approach single-visit identifiability even if the raw count clears a k-anonymity floor for a longer window.
Location-data privacy law varies by jurisdiction (GDPR/ePrivacy in the EU, CCPA/CPRA in California, and others), so a pipeline using a single global minimum-aggregation or consent policy can be non-compliant in stricter regions or needlessly conservative in others.
When a cell fails a privacy check, the correct response is to roll it up to a coarser resolution and re-check, not to drop it or leave it at the original resolution with a suppressed value, either of which loses coverage or gives a false sense of the original grain.
A cell with very few observed individuals (e.g. 1-3) can be cross-referenced with public or other data sources to re-identify a specific person, even without any single field being personally identifiable on its own.
Cells with too few users risk re-identification and must be suppressed or coarsened.
Publishing a sequence of snapshots over time for the same fine-grained cell (even if each snapshot independently meets k-anonymity) can let an observer intersect the snapshots to re-identify an individual whose presence changed between them.
The same impression/visit counted multiple times inflates audience per cell.
Assigning experiment arms at a cell grain finer than the delivery channel's location error radius misplaces households across arms. With shared error the misassignment is non-differential (attenuates lift toward null, a power cost); when arms differ in IP-resolvability — multi-family share, carrier NAT, fixed-wireless penetration — the error becomes differential and biases the estimate, not just weakens it.
Assigning each probabilistic observation to its single most-likely cell piles ambiguous mass onto registry/population centroid cells, manufacturing false density at vendor fallback points.
Most platforms resolve IP to location through the same few vendors, so location reports from different platforms are correlated, not independent: cross-platform agreement is not corroboration, and every party can be wrong in the same direction at once. Requested-vs-executed provenance verifies the platform's own conversion step and passes the shared upstream lookup error through untouched.
Restricting delivery to a curated subset of location-verified IPs while measuring against a full-population outcome (store sales) creates a denominator mismatch that dilutes measured lift by an unknowable share — and the subset is not neutral: location-stable IPs skew fixed-line, single-family, owner-occupied, deleting exactly the dense urban geography where fine-grain targeting has the most advantage over ZIP.
High-volume bidstream feeds often truncate or sample records under load, and truncated records can silently drop the geo field entirely or truncate coordinate precision, biasing which impressions are geo-resolvable.
In high multi-family-unit markets and behind carrier-grade NAT, many households share one public IP or egress point, so one lookup result stands in for households spread across a wide area — and the shared point is often far from any of them. Fixed-wireless (5G) home internet adds drift: the household keeps its service while its IP-derived location moves between carrier egress points over time.
A path skimming a cell edge produces a jagged, duplicated cell sequence.
Location histories merged across a household's or individual's multiple devices via probabilistic ID-graph stitching can double-count visits or attribute one device's location to another device incorrectly, inflating cell-level audience counts.
A platform declares support for a cell resolution finer than its location input can carry: IP geolocation's published best-case accuracy radius (~5 km) exceeds the equal-area radius of an R6 cell (~3.4 km), so an R6-or-finer declaration on IP-derived geography is a claim the input cannot honor. R5 (~9 km) is the finest defensible declaration from IP alone.
Predictive 'likely to visit X' destination-interest scores are probabilistic, not observed; treating the resulting audience as equivalent to a confirmed-visitor segment overstates targeting precision.
A requested exclusion zone (e.g. exclude a competitor's trade area or a control market) can still receive delivery if the platform's exclusion granularity is coarser than the requested boundary, or exclusion isn't supported and is silently dropped.
When two or more targeted geographies overlap (e.g. a store radius nested inside a DMA target), a user in the overlap can receive frequency from both line items, inflating true frequency and reach reporting per user.
Noisy fixes near a boundary flip cells back and forth, inflating counts.
A GPS fix's reported horizontal accuracy (often tens to hundreds of meters, worse indoors/urban canyon) is frequently discarded downstream, letting a low-accuracy fix be indexed at a resolution finer than it can support.
Inferred 'home' location (typically the most common overnight device location over N days) can be wrong for shared devices, frequent travelers, or short observation windows, misassigning the household cell.
IP geolocation is coarse and often centroid-biased; it is not physical presence, and it is not a point — it is a disk at a stated confidence.
Vendors attach a confidence score to location signals, but many downstream pipelines drop it and treat every observation as equally trustworthy, letting low-confidence noise dilute high-confidence signal in aggregate cell counts.
'Location interest' segments (built from search, content consumption, or app category signals about a place) are conflated with physical visitation, but a user searching for a location has not necessarily been there.
Audience size and composition for a 'visited store X' segment change substantially with the chosen lookback window (7 vs. 30 vs. 90 days); an undocumented or inconsistent window makes cross-campaign comparisons invalid.
A multi-channel activation (e.g. CTV + DOOH + mobile) mixes location provenances of very different quality; because any channel's exposure puts a household in the treatment arm, the bundle's assignment integrity is set by the worst-resolving channel, not the average — one contaminated stream contaminates the arm.
A location signal claiming 'physical presence' may actually derive from a lower-confidence source (Wi-Fi, IP, declared) that has not been verified against a GPS dwell; treating all presence signals as equally reliable overstates confidence.
Bid-stream location carries a per-impression provenance flag (e.g. OpenRTB device.geo.type: GPS vs IP-derived vs user-declared), but delivery logs are routinely aggregated across it, pooling a tight error distribution with a wide one and hiding the displacement that segmenting would reveal for free.
Location supplied by the publisher/app (e.g. a self-reported profile city or content geography) rather than device-observed, is far coarser and more gameable than GPS or IP-derived signals, but is often merged into the same location field without a source tag.
'Recent presence' segments depend entirely on the chosen lookback window; a location visit from 90 days ago counted as 'recent' in a stale segment misrepresents current audience composition.
In a geo-lift experiment, cells assigned to control can still receive treatment exposure via platform audience expansion, ad-adjacent delivery, or a resident's movement into a treatment cell, biasing the measured lift toward null.
Inferred 'work' location (typical daytime weekday device location) misfires for remote/hybrid workers, gig workers, and multi-site employees, assigning a work cell that doesn't reflect actual employment geography.
Municipal annexations, incorporations, and county line adjustments change which admin polygon a location belongs to over time; a crosswalk built on one vintage misattributes cells for periods before or after the change.
Geolocation databases update weekly; a network block whose location estimate crosses an experiment arm boundary between releases flips every device behind it between arms mid-flight — differential contamination no deattenuation corrects.
Media markets are periodically redrawn; crosswalks must be pinned to a vintage.
ZIP/ZCTA definitions drift between vintages.
Admin/postal/DMA boundaries change; using an old vintage misassigns cells.
A store location list used for trade-area or catchment geometry goes stale as locations open, close, or relocate; targeting or measuring against a closed store's geometry wastes spend and biases lift measurement toward zero.
Ad-hoc geofences for a limited-duration event (a festival, stadium concert, disaster-response zone) exist only for a narrow time window; applying that geography outside its valid window either misses the event or wrongly attributes unrelated activity to it.
Audience membership defined by location visitation is inherently time-bound (a person who visited last month may not still be a customer); treating an audience segment as static after its build date silently stales the targeting/measurement population.
The H3/boundary/crosswalk version active at campaign execution time can differ from the version active when the reporting/measurement query runs later, causing the same nominal geography to resolve to different actual cells between planning and results.
Weather alert/impact polygons (storm tracks, flood zones, air-quality advisories) are issued, updated, and retracted on an hourly-to-sub-hourly cadence; using a cached or stale version misrepresents current conditions for weather-triggered targeting or reporting.
Geolocation vendors ship a per-record error bar (accuracy radius, and in some products per-field confidence factors), but downstream ad-serving and reporting schemas carry only the point or cell, so the uncertainty is discarded at the first hop and delivered geography arrives dressed as exact.
Coordinates supplied as [lat,lng] where [lng,lat] is expected place geometry in the wrong hemisphere.
Pixels straddling land/water mislabel coastal cells.
A ~67%-confidence radius and a CEP50 radius differ enough that pooling them unconverted yields containment estimates wrong by a factor of two or more.
The same admin id mapping to multiple polygons (data error) breaks partition assumptions.
Address-to-point geocoding carries a precision tier (rooftop, street, ZIP centroid) that is often dropped downstream; a ZIP-centroid-precision point treated as rooftop-precision misassigns the cell.
A polygon with fewer than 4 coordinates (or a ring truncated mid-transfer) is not a valid closed shape and will fail or misbehave in a filler.
A geometry file with no CRS metadata forces an assumption (usually WGS84); if the true CRS differs, every downstream cell assignment is wrong with no detection signal.
A source dataset silently omits polygons for some regions (e.g. a boundary file missing a newly incorporated municipality), leaving gaps in cell coverage with no explicit null marker.
Sentinel no-data pixels (e.g. -9999) corrupt aggregates if not masked.
A coarse raster over fine cells yields false precision; fine raster over coarse cells needs area weighting.
Bidstream coordinates rounded to 2–3 decimals snap to a coarse grid, biasing cell assignment.
Coordinates delivered in a projected or regional CRS (e.g. State Plane, UTM) but consumed as if they were WGS84 lat/lng place points thousands of kilometers off with no error thrown.
Null or unparsed lat/lng fields defaulting to (0,0) plot as real points in the Gulf of Guinea ('Null Island'), silently injecting fake density into that cell.