Curbside Pickup Check-In
Also known as: Curbside Check-In, Pickup Arrival Check-In, I'm Here Check-In, Curbside Arrival, Customer Arrival Notification
Fires when a curbside customer checks in on arrival: an I'm Here tap in the app, order page or SMS link, or a server-side geofence arrival. The handover itself is order-pickup.
Event Serialization
always
Business Use Case
["1️⃣ Store Operations: check-in to handover time runs over target at a store → adds a curbside runner at peak hours.","2️⃣ Customer Service: many check-ins arrive with order_ready_status not ready → delays the pickup-ready message.","3️⃣ Omnichannel Product Manager: SMS check-ins far outnumber app check-ins → promotes app check-in in the ready message."]
Business Criticality
Medium
Journey / Navigation Area
Generic
Owning Function
Customer Service
Calculation Notes
["1️⃣ Fires when the order system accepts the check-in; never on the pickup-ready message, an On My Way tap or a check-in page load.","2️⃣ Serialization always: repeat taps re-fire. Dedupe on transaction_id + store_id for one check-in per order; keep the first timestamp.","3️⃣ Required: form_type, transaction_id, store_id, fulfillment_method, check_in_method. The other three parameters are optional.","4️⃣ No vehicle make, colour, plate or GPS coordinates in the payload; staff read vehicle details from the order system, not analytics.","5️⃣ The analytics hit follows analytics consent; the store alert does not. Expect fewer GA4 check-ins than order-system check-ins.","6️⃣ Geofence auto check-ins set check_in_method = geofence and are sent once, server-side; firing the client tap as well doubles arrivals.","7️⃣ Counter and locker pickups do not fire it; fulfillment_method must be curbside, never the generic pickup value."]
Platform Events
| Platform | Event |
|---|---|
| Google Analytics 4 | submit_form |
| Adobe | form_submit |
Data Mappings
W3 Data Layer
{
"event": [
{
"eventInfo": {
"eventName": "submit_form",
"eventAction": "Curbside Pickup Check-In",
"timeStamp": "2026-09-28T15:00:12Z"
},
"attributes": {
"form_type": "curbside_check_in",
"transaction_id": "ORD-2026-0913-4471",
"store_id": "STORE-4521",
"fulfillment_method": "curbside",
"check_in_method": "app",
"parking_spot": "B12",
"order_ready_status": "ready",
"pickup_window_start": "2026-09-28T15:00:00Z"
}
}
]
}GA4 Data Layer
{
"event": "submit_form",
"form_type": "curbside_check_in",
"transaction_id": "ORD-2026-0913-4471",
"store_id": "STORE-4521",
"fulfillment_method": "curbside",
"check_in_method": "app",
"parking_spot": "B12",
"order_ready_status": "ready",
"pickup_window_start": "2026-09-28T15:00:00Z"
}Adobe Client Data Layer
{
"event": "form_submit",
"data": {
"form_type": "curbside_check_in",
"transaction_id": "ORD-2026-0913-4471",
"store_id": "STORE-4521",
"fulfillment_method": "curbside",
"check_in_method": "app",
"parking_spot": "B12",
"order_ready_status": "ready",
"pickup_window_start": "2026-09-28T15:00:00Z"
}
}XDM Mapping
{
"eventType": "web.formFilledOut",
"web": {
"formDetails": {
"formType": "curbside_check_in"
}
},
"commerce": {
"order": {
"purchaseID": "ORD-2026-0913-4471"
}
},
"_experience": {
"analytics": {
"customDimensions": {
"eVar": {
"eVar10": "STORE-4521",
"eVar11": "curbside"
}
}
}
},
"_openkpis": {
"curbsidePickup": {
"checkInMethod": "app",
"parkingSpot": "B12",
"orderReadyStatus": "ready",
"pickupWindowStart": "2026-09-28T15:00:00Z"
}
}
}Source Data
Digital Analytics (GA4)
Dependencies
Prerequisite: List the dependencies required for this Event
Events:
Dimensions:
Report Attributes
store_name check_in_method fulfillment_method pickup_window order_ready_status
Segment Eligibility
true
Governance
Dimensions
Derived Dimensions
Governance & Metadata
GitHub
catalog/events/curbside-pickup-check-in.yml