摘要:本地生活类App里,每十个用户就有五个多不给位置授权。首页"附近推荐"推不出街边店、配送范围没法预判、门店活动的引流归因只能靠人工盘。这篇讲一条不依赖GPS授权的补位路线——街道级定位查询:精度到哪、三个场景怎么落、附一段能直接跑的代码。
一、四成用户,不给定位权限
QuestMobile今年1月的数据把这个问题摆上了台面:本地生活类App里,依赖LBS授权的用户只占41%。剩下59%的人,GPS拿不到、基站定位归运营商内部用,传统IP库又只给到城市级——想给用户推"2公里内的店",技术上没有抓手。
思路换个方向就通了:用户只要发起网络请求,就一定带着IP。GPS是用户设备在测自己,IP定位是服务端对网络地址做推断,全程无感知,自然也没有"拒绝授权"这一说。街道级定位查询补的就是这块缺口。
二、街道级到底能到多准
SegmentFault上有一份基于100万条真实用户GPS对照的实测,结论是:
|
精度级别 |
准确率 |
适用场景 |
|
街道级 |
62%-74% |
商圈判断、附近推荐 |
|
区县级 |
89% |
门店推送、区域营销 |
|
城市级 |
96% |
粗略地域统计 |

街道级定位查询精度阶梯图
把表翻译成业务语言:街道级定位查询到不了GPS的米级,别指望拿它做配送导航,但判断"用户大概在哪个商圈"够用了。两个细节容易被忽略:一是精度分布不均,一线城市核心区IP段划分密、基站备案全,街道级命中率高;郊县和新区IP段聚合得粗,往往只能落到区县级。二是运营商IP段会重新分配,静态库的准确率会随时间衰减——日更和月更的差距,三个月后就能看出来。
三、三个场景,三组数据
1.首页附近推荐。某外卖平台做过A/B测试:无IP定位时推荐CTR为3.2%,城市级4.1%,街道级5.8%——比不定位高了41%。实现路径也直白:IP定位到街道后反查商圈POI库,推商圈里的高热度店铺。
2.配送范围预判断。用户还没填地址,先拿IP定位跟"可配送街道列表"匹配,不在范围就提前提示。某生鲜电商上线这套逻辑后,无效下单率降了22%,客服咨询量降了15%。
3.门店引流归因。某连锁咖啡品牌在50家门店做打卡活动,靠IP定位统计发现34%的参与用户就在门店周边1公里内,据此调整了下一轮投放。这一步之前只能靠问卷或扫码定位,现在活动页一打开,IP信号自动落表,统计口径也统一了。

街道级定位查询落地链路流程图
三个场景共用一套模式:先拿IP换街道级坐标,再把坐标交给业务侧的POI库或规则引擎。定位本身不产生价值,得和商圈数据、配送半径、门店清单这些业务数据对上号,才跑得起来。
四、一段可以直接跑的代码
调街道级定位接口,重点是把内网IP过滤和降级策略写进去:
import requests
def street_locate(ip: str, key: str) -> dict:
"""街道级定位查询:内网IP直返,异常降级到城市级"""
if ip.startswith(("10.", "172.16.", "192.168.", "127.")):
return {"level": "intranet", "reason": "private_ip"}
url = "https://api.ipdatacloud.com/v2/query"
try:
resp = requests.get(url, params={"ip": ip, "key": key}, timeout=2)
data = resp.json().get("data") or {}
return {
"province": data.get("province"),
"city": data.get("city"),
"district": data.get("district"), # 区县
"street": data.get("street"), # 街道/商圈
"lng": data.get("lng"),
"lat": data.get("lat"),
"level": "street" if data.get("street") else "city",
}
except requests.exceptions.RequestException:
return {"level": "unknown"} # 降级:走城市级兜底或默认推荐池
五、落地提醒
- 别拿街道级做精确配送。它回答的是"哪个商圈",不是"哪栋楼";
- 降级链路先写好。街道级→区县级→城市级,任何一级失败都有兜底,代码里那层try/except就是干这个的;
- 高频场景走离线库。首页推荐、配送预判断这类每个请求都要查的场景,本地离线库比每次走网络往返省时省成本,关键链路再留API做兜底校验;
- 数据源挑日更的。像IP数据云这类支持街道级输出、覆盖IPv4/IPv6双栈的服务,配合离线库部署,比静态库扛衰减的能力强得多。
定位权限拿不到不是死局。IP这一路信号用好了,那59%用户的"附近推荐",照样跑得起来。
数据来源:
- QuestMobile《中国移动互联网2026年度报告(1月)》
- SegmentFault 2026年街道级IP定位实测(基于100万条真实用户GPS对照)
注:IP段归属动态变化,检测结果仅供参考,请以实际业务验证为准。

243

被折叠的 条评论
为什么被折叠?



