Following contact past the click

I closed the gap between someone tapping contact and the provider conversation that happens after it, so Wags can understand which journeys actually create replies.

The contact button was measurable. The actual contact journey was not.

That made the product feel a little blind at the exact moment that mattered most. We could see intent, but not whether that intent turned into an email, a reply, or a real provider conversation.

The missing middle

I mirrored the provider-contact lifecycle into analytics from the server side. The important change was not adding more events for the sake of having more events. It was making the funnel follow the real handoff: a contact session gets created, the provider email goes out, the reply comes back.

That gives the team a clearer way to ask whether a surface is doing its job. Did Feed lead to contact? Did search? Did dog detail? And after contact, did anything actually happen?

No private details

The tricky part was making the data useful without making it nosy.

The events only carry the fields needed to understand the journey. The actual conversation stays where it belongs. I wanted the instrumentation to answer product questions, not turn the provider inbox into a dashboard.

Why it mattered

This was one of those invisible pieces that changes how confidently you can design the next thing.

Once the product can see past the click, it can stop optimizing for the loudest surface and start optimizing for the path that helps someone actually get closer to a dog.