TeamWhat We DoCase StudiesToolsBook a consultation →
CASE STUDY. THIRSTIE · ALCOHOL DELIVERY. B2C · GROWTH ANALYTICS

Track it.Then scale it.

An on-demand alcohol delivery app with web, iOS, and Android surfaces. This is how iExcel built the growth analytics and customer acquisition operating system underneath it.

Engagement
Foundation · Analytics + growth
Scope
Mixpanel · KPIs · Funnel · CRO · Roadmap
Surfaces
Web · iOS · Android · Ecommerce
Buyer
21+ US consumer · On-demand
Amber whiskey glass — warm bar context
// AMBER · WARM BAR CONTEXT
Chapter 01 · The Setup

An app that runs. A growth engine that doesn't yet.

Thirstie is an on-demand alcohol delivery platform — web, iOS, and Android — that connects 21+ consumers with local partner stores and routes orders through the last-mile fulfillment loop. The product side works. Users can browse, cart, check out, and get a bottle at the door.

What wasn't yet running was the layer underneath the product: a customer acquisition and growth operating system that could actually tell the business what was working. Where were downloads coming from. Which cohort activated. Which channel produced the repeat order. What the funnel looked like from first tap to second purchase. That layer was the assignment.

When iExcel picked up the engagement, the ask wasn't performance media. It was foundation — the analytics, the KPI framework, the Mixpanel taxonomy, the funnel reporting, the experimentation roadmap. Track it first. Then scale it.

3
Platforms Instrumented · Scope
Web, iOS, and Android — a single event taxonomy carrying across all three surfaces so cohort math survives the platform switch.
Phone app checkout — on-demand delivery
Chapter 01 · Web · iOS · Android
Chapter 02 · The KPI Framework

What a bottle in a cart actually tells you.

Before events, before dashboards, before a single Mixpanel property, we wrote the KPI definition doc. What are the fields on a user record. What are the fields on an order record. What does a weekly reporting cadence actually need to show leadership on a Monday morning. The doc came first — because the taxonomy that follows only holds up if the definitions are locked.

// USER FIELDS

Demographics.

  • User ID
  • Phone
  • Email
  • Delivery address
  • City
  • State
  • ZIP
// ORDER FIELDS

Transactional.

  • User ID · phone · email · delivery
  • Payment method
  • Date + time ordered
  • Date + time completed
  • Order status
  • Bottle count · liquor subtotal · merch subtotal
  • Shipping · tax · tip · total
  • Order method: iOS · Android · Web
  • Repeat user flag
  • Store ID · store ZIP + state · merchant ID
// WEEKLY REPORTING

Cadence.

  • # orders
  • Avg liquor subtotal
  • Avg total order value
  • Avg bottle count
  • New users
  • Repeat users
  • % new vs. % repeat
Chapter 03 · The Event Taxonomy

Mixpanel. Scoped like an SDK spec.

The centerpiece of the engagement: a full Events & Property List workbook — the Mixpanel implementation spec. Every user action, session, order state, and funnel transition mapped into a structured event with typed properties, example values, and People Analytics fields. Handed to engineering as a build sheet. Web, iOS, and Android reading from the same taxonomy so cross-surface cohorts don't lie.

// EVENT TAXONOMY BOARD · MIXPANEL SPEC · v1
SURFACES: WEB · IOS · ANDROID
// USER
  • signup_startedsource · surface · referrer
  • signup_completeduser_id · method · state · zip
  • age_verifieduser_id · state · surface
  • profile_updateduser_id · fields_changed[]
  • email_opt_inuser_id · consent_source
  • push_opt_inuser_id · surface
  • download_installedsurface · attribution_source
  • churn_detecteduser_id · days_since_last_order
// SESSION
  • session_startedsurface · utm · referrer · geo
  • session_endedduration · pages_viewed
  • store_viewedstore_id · zip · surface
  • product_viewedsku · category · price
  • search_performedquery · results_count
  • recipe_viewedrecipe_id · source
  • push_receivedcampaign_id · surface
  • push_openedcampaign_id · user_id
// ORDER
  • cart_startedfirst_sku · store_id
  • item_addedsku · price · bottle_count
  • item_removedsku · price
  • checkout_startedcart_total · bottle_count
  • payment_submittedmethod · total · tip
  • order_placedorder_id · store_id · merchant_id · total
  • order_completedorder_id · fulfillment_min
  • order_cancelledorder_id · reason
// FUNNEL
  • download_to_signupdays · attribution_source
  • signup_to_first_orderdays · surface
  • first_to_repeat_orderdays · promo_used
  • cart_abandonedcart_total · exit_step
  • exit_survey_submittedreason · surface
  • referral_sentuser_id · channel
  • referral_convertedreferrer_id · new_user_id
  • lifecycle_stage_changefrom · to · trigger
// PEOPLE ANALYTICS · USER PROPS: order_count · last_order_at · total_spent · fav_store · churn_risk · lifecycle_stage
Chapter 04 · The Growth Roadmap

Acquire. Activate. Retain. Then refer.

The Growth Hacker roadmap sat on top of the taxonomy — an experimentation ladder written so a small team could actually run it. Each rung tied to events already in the Mixpanel spec, so the moment a test shipped, the reporting was there waiting for it.

01
// ACQUISITION

Attribution + channel.

Download attribution wired per surface. Campaign tracking on paid and organic. Bartender and influencer referral tracking. SEO for high-intent product and recipe queries. Landing page A/B tests wired to signup events.

02
// ACTIVATION

Download → order.

Download-to-signup and signup-to-first-order funnels defined. Onboarding sequence mapped. Email signup capture. Push opt-in prompts scoped. Recipe and how-to suggestions as an activation nudge for users who bounce pre-cart.

03
// CRO

Cart + checkout.

Cart abandonment triggers per surface. Exit surveys on abandonment. Alerts on drop-off spikes. Landing page A/B testing framework and roadmap. Conversion-blocking friction points logged against event data — not gut feel.

04
// RETENTION

Repeat order.

Repeat-order tracking on the user record. Segmentation by order count, category, and geography. Push notification lifecycle sequences. Drip campaigns tied to lifecycle stage. Attrition monitoring — churn flagged before it fires.

05
// REFERRAL

Social proof + loop.

Referral events wired end-to-end. Bartender and influencer partner tracking with named UTM sources. Social proof surfaces on recipe and product pages. Lead gen + nurture roadmap for pre-signup traffic that isn't ready to convert.

Warm bar interior with amber bottles on shelves
// THE PRINCIPLE
"An app can ship without instrumentation. A growth story cannot."
— Engagement Recap · Thirstie × iExcel
Chapter 05 · Funnel + Attribution

Where the user actually drops.

With the taxonomy live and the KPI framework locked, the funnel reporting layer wrote itself. Each stage from ad impression to repeat order became a Mixpanel funnel with typed drop-off events underneath it. Cohort by surface. Cohort by acquisition source. Cohort by geography and store.

Attribution ran alongside — download source, session UTM, promo code, referral partner — landing on the user record so a signup could be traced back to the campaign that produced it. No more "we think Instagram is working." Now the funnel showed which Instagram campaign, which creative, which geo, which day-part, and which cohort came back for a second bottle.

The result is a reporting spine leadership can actually read in under five minutes on a Monday — and a growth team that can point at the exact drop-off step they're shipping against this week.

100%
Data Capture Layer · Defined End-to-End
User, session, order, and funnel events scoped for the full customer lifecycle across all three surfaces — from ad impression to repeat order.
Ecommerce checkout with amber bottles
Chapter 05 · The funnel spine
// AD
Impression → click. Campaign, creative, geo, and day-part landed on session UTM. Attribution source stamped on the user record at signup so downstream cohorts survive.
// INSTALL
Click → download. Surface-specific install attribution — iOS, Android, web signup — with the download-to-signup gap tracked in days per source.
// SIGNUP
Download → signup + age verification. 21+ verification event fires here. Drop-off at this step is quantified so the friction is visible instead of assumed.
// CART
Signup → cart start → checkout. Item-added, item-removed, and checkout-started events sit under the funnel. Abandonment triggers scoped to a re-engagement flow with exit-step tagged.
// ORDER
Checkout → order placed → completed. Fulfillment time, tip, bottle count, and store attribution captured. Order method (iOS · Android · Web) stamped for surface-level cohort math.
// REPEAT
First order → second order. The retention hinge. Repeat-user flag, days between orders, and promo-used stamped on the record so lifecycle sequences can fire against real signal, not guesses.
Dim cocktail bar interior with warm amber light
// THE HINGE
"The second order is where the growth story either starts — or quietly ends."
— Engagement Recap · Thirstie × iExcel
Chapter 06 · The Read

The template for an app-first B2C business growing up.

If you're running an on-demand or app-first B2C business — alcohol delivery or otherwise — and you're staring at three platforms firing events into three different tools, a growth team guessing at attribution, and a leadership dashboard nobody trusts, the Thirstie engagement is the shape of what to do about it.

KPI framework first. Event taxonomy second. Funnel and attribution after. Experimentation roadmap only when the layer underneath it can actually catch what the tests emit.

Most agencies want to run the paid. iExcel built the instrumentation so the paid — and the CRO, and the lifecycle, and the referral loop — could all be measured against the same source of truth. Track it first. Then scale it.

Amber whiskey bottle — warm brand imagery
Chapter 06 · The read

Track it. Then scale it.

A KPI doc leadership can read on a Monday. An event taxonomy engineering can build against. A funnel that shows the drop-off, not a hunch. Book a 15-minute sanity check on your analytics stack — we'll tell you what's under-built and what to do about it.

Book a 15-min sanity check →
Book →