Crawling
Prepare your build
Help the crawler reach and name every screen, and keep its events out of your real data.
Label icon buttons#
Tapmap names buttons from their text, or their accessibility description. An icon-only button without one shows up as “(icon)”.
kotlin
IconButton(
onClick = onSend,
modifier = Modifier.semantics { contentDescription = "Send" },
) { Icon(Icons.Default.Send, contentDescription = null) }In Views, set android:contentDescription. In Flutter, wrap the button in Semantics(label: "Send") or set a tooltip.
Give screens a visible title too (a toolbar or header). It’s how pages without a screen-view event get named.
Use a test Mixpanel project#
The crawler’s taps become real events. Point a debug or staging build at a separate Mixpanel project, and upload that build.
What the crawler won’t tap#
Risky buttons are skipped
The crawler won’t tap Log out, Delete, Buy, Pay or Subscribe, so those won’t show as tracked on the map even if they are. Check them in Mixpanel directly.
Checklist#
- Screen-view tracking hooked into navigation, with readable names
- Every tab sends a screen view
- Main actions (create, send, save, buy, share) send an event in their tap handler
- Icon buttons have a content description
- The build sends to a test Mixpanel project
- No personal data in event properties