Quick Insight
A parent Placekey (the parent_placekey field) is the Placekey of a larger point of interest whose polygon contains a smaller POI, such as a mall containing a store or an airport containing a cafe. It appears only on the child record, matches the placekey of the encompassing place, and is null for standalone POIs. Unlike brand hierarchy, which links businesses by ownership, it records physical containment, a relationship SafeGraph calls spatial hierarchy.
How Parent Placekey Works
- Polygon overlap: SafeGraph assigns a parent by measuring how much a POI’s building footprint overlaps a larger polygon.
- Approved parent categories: Only certain place types can be parents, including malls, airports, hospitals, universities, theme parks, casinos, hotels, golf courses, and gas stations with convenience stores. This keeps the hierarchy from depending on polygon precision alone.
- Brand exception: A brand that wholly contains another brand can also act as a parent, like a Subway inside a Walmart.
- Multiple levels: In rare cases a parent has its own parent, for example a Starbucks inside a terminal inside an airport.
- Point POIs: Places with no polygon, such as ATMs or bus stops, always have a null parent Placekey, because the relationship relies on geometry.
Types of Parent-Child Relationships
- Enclosed: The child is fully indoors and reachable only by entering the parent, like a jewelry store inside an indoor mall. The enclosed field is set to true.
- Non-enclosed: The child belongs to the parent but works as its own space, like a burger restaurant in an open-air strip center. These children usually have their own polygon.
Why Parent Placekey Matters
- Avoids double counting: If you join your own visit or sales data to both a mall and its stores, the same activity can be credited twice. The parent Placekey shows which rows overlap so you keep one level.
- Sharper attribution: GPS signals drift indoors, so knowing a store sits inside a larger structure helps teams decide how much to trust signals in visit attribution models.
- Explains shared shapes: When a child has no footprint of its own, it may share the parent’s polygon. The parent Placekey tells you why two rows carry the same outline.
Common Uses
- Tenant lists: Group rows by parent Placekey to see every business inside each mall or airport in a market.
- Commercial real estate: Compare tenant mix and anchor stores across shopping centers.
- Geofencing: Target a whole venue or a single store inside it, depending on the campaign. See polygon geofences.
- Venue rollups: Aggregate store-level records up to the venue when other datasets only exist at that level.
Both fields ship with SafeGraph Places and Geometry data, refreshed monthly.
How Parent Placekey Compares to Related Fields
Field | What it links | Example |
placekey | The place itself | The Starbucks |
parent_placekey | The physical container | The mall the Starbucks is in |
parent brand ID | The corporate owner | Yum! Brands over Taco Bell |
Want to learn more about how Placekey and Parent Placekey fit into the Places schema?
Read our full guide: A Technical Guide to SafeGraph Places Data
Frequently Asked Questions
1. How do I pull every store inside a specific mall?
Filter for rows where parent_placekey equals the mall’s placekey. SafeGraph’s API also has a Children Lookup query that returns all child places for a given Placekey.
2. Can a record list more than one parent?
No. Each record holds a single parent Placekey. To reach a grandparent, look up the parent’s own parent_placekey.
3. Why would a store inside a mall have no parent Placekey?
Usually because one of the two places lacks a reliable polygon, so the overlap could not be confirmed. Checking geometry_type and is_synthetic helps explain the gap.
4. Does the parent's polygon include the parking lot?
It depends on the place. The includes_parking_lot field tells you, which matters when you measure activity around a venue rather than inside it.
5. Can I join parent Placekey to from other providers?
Yes. It is a standard Placekey, so you can join any dataset keyed by Placekey without fuzzy name or address matching.