By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.
Instrumentation is the process of adding code to your product to track user actions (events) and collect data. Event tagging is the labeling of these actions (e.g., "Clicked ‘Add to Cart’") so you can analyze behavior. Data governance ensures this data is accurate, consistent, and compliant. Why it matters: Without proper instrumentation, you’re flying blind—you can’t measure feature success, debug issues, or personalize experiences.Example: A fintech app launches a new "Round-Up Savings" feature. Without event tagging, they can’t track how many users enable it, how often they save, or whether it increases retention. Poor data governance could lead to GDPR violations or misleading metrics (e.g., counting test users as real customers).
checkout_started
{product_id: "123", user_type: "premium"}
Timestamp (when it happened)
Event Taxonomy: A standardized naming convention for events (e.g., verb_noun like button_clicked or page_viewed). Avoid vague names like user_action_1.
verb_noun
button_clicked
page_viewed
user_action_1
Tracking Plan: A document listing all events, properties, and their definitions. Shared with engineers/data teams to ensure consistency. Example: | Event Name | Properties | Trigger Condition | |------------------|--------------------------------|----------------------------| | signup_completed | {user_id, referral_source} | User submits signup form |
signup_completed
{user_id, referral_source}
Data Layer: A JavaScript object (e.g., dataLayer.push({event: "purchase", value: 99})) that standardizes how data is sent to analytics tools (e.g., Google Analytics, Mixpanel).
dataLayer.push({event: "purchase", value: 99})
Amplitude/Segment/Mixpanel: Analytics tools that ingest events. Amplitude is best for product analytics; Segment is a "data pipeline" that routes events to other tools.
Data Governance: Policies to ensure data quality, security, and compliance. Includes:
user_id
GDPR/CCPA Compliance: Rules for handling PII (Personally Identifiable Information). Example: Never log email in events; use user_id instead.
email
Funnel Analysis: Tracking a user’s progression through steps (e.g., viewed_product → added_to_cart → initiated_checkout → purchased). Formula: Conversion Rate = (Users at Step N) / (Users at Step 1) × 100%
viewed_product → added_to_cart → initiated_checkout → purchased
Retention Analysis: Measuring how many users return after X days. Formula: Day N Retention = (Users Active on Day N) / (Users Active on Day 0) × 100%
A/B Test Instrumentation: Tracking events for both control and variant groups. Example:
cta_clicked
Property: {variant: "A"} or {variant: "B"}
{variant: "A"}
{variant: "B"}
SQL for PMs (Basic): Querying event data. Example: sql SELECT COUNT(DISTINCT user_id) FROM events WHERE event_name = 'purchase_completed' AND timestamp > '2023-01-01' (Counts unique users who purchased after Jan 1, 2023.)
sql SELECT COUNT(DISTINCT user_id) FROM events WHERE event_name = 'purchase_completed' AND timestamp > '2023-01-01'
Leading vs. Lagging Indicators:
Identify leading indicators (e.g., "users who complete onboarding in <2 mins") and lagging indicators (e.g., "Day 7 retention").
Build the Tracking Plan
onboarding_started
onboarding_step_completed
{step: "email_verification"}
onboarding_completed
Use a taxonomy (e.g., verb_noun) and avoid duplicates (e.g., don’t track signup_button_clicked and signup_btn_clicked).
signup_button_clicked
signup_btn_clicked
Collaborate with Engineers/Data Team
Instrument events before launch (retroactive tracking is painful).
Validate Data Quality
sql SELECT event_name, COUNT(*) FROM events GROUP BY event_name ORDER BY COUNT(*) DESC
Monitor for PII: Search for email, password, or credit_card in event properties.
password
credit_card
Analyze and Iterate
onboarding_step_1_completed
A/B test changes (e.g., simplify Step 1) and measure impact on retention.
Govern the Data
purchase_completed
Mistake: Tracking too many events (e.g., every button click). Correction: Focus on actionable events tied to business goals. Example: Track checkout_started but not scroll_on_product_page.
scroll_on_product_page
Mistake: Inconsistent event naming (e.g., signup_clicked vs. signup_button_clicked). Correction: Use a taxonomy and enforce it with tools like Segment Protocols. Example: Always use verb_noun (e.g., button_clicked).
signup_clicked
Mistake: Not validating data before launch. Correction: QA events using tools like Amplitude Live View or Charles Proxy. Example: Manually trigger events and check if they appear in the dashboard.
Mistake: Logging PII (e.g., email, credit_card) in events. Correction: Use hashed IDs (e.g., user_id) instead. Example: Never log email; use user_id and join with a separate user table.
Mistake: Assuming engineers will "figure out" instrumentation. Correction: Own the tracking plan and collaborate early. Example: Hold a kickoff meeting with engineers to align on events.
Strong Answer:
"How do you ensure data quality?"
"What’s the difference between a leading and lagging indicator?"
"How would you handle a situation where data shows a feature is underperforming?"
quick_checkout_started
Why: Never assume the data is correct or the feature is the problem—dig deeper.
You’re instrumenting a new onboarding flow. What events would you track, and why?
onboarding_skipped
Why: These events help measure conversion and retention (e.g., "Do users who complete onboarding retain better?").
Your engineer says, "We can’t track user_id because it’s PII." How do you respond?
user_123
name
phone
purchase_completed {product_id: "123"} 2023-01-01
Join 4M+ learners. Unlock unlimited quizzes, wrong-answer tracking, flashcards + reminders, study guides, and 1-on-1 challenges.