I. Introduction: From an Empty Project to Actionable Data
In the first part of our “Getting Started” series, we established your foundational Amplitude account and first project. Right now, it’s an empty stage, perfectly set up but waiting for the performance to begin. So, how do we bring the actors—your users and their critical actions—onto that stage? The answer is instrumentation.
Instrumentation is the deliberate process of sending data about what users are doing in your product into your Amplitude project. It’s the technical bridge that connects your application’s activity to the powerful analytics engine waiting to receive it. This process transforms your empty project into a dynamic source of product intelligence.
It’s crucial to understand that the quality and thoughtfulness of your instrumentation directly determine the quality and depth of all future insights. Good instrumentation, guided by a clear strategy, leads to trustworthy data and reliable answers. Poor or haphazard instrumentation leads to confusion, inaccurate metrics, and ultimately, a lack of confidence in your data.
This post will demystify the core concepts of Amplitude instrumentation. We’ll explain how data is sent using Amplitude’s SDKs and provide a practical guide with best practices for tracking your first crucial events. Our goal is to empower you to build a data foundation that will yield actionable insights for years to come.
II. The Core Concepts of Instrumentation: Events, Properties, and Users
Before you can have a productive conversation with your development team about what to track, it’s essential to understand the three fundamental building blocks of data in Amplitude. Think of them as the basic grammar you’ll use to describe everything that happens in your product.
Events: The “Verbs” of Your Product
An Event is the most fundamental concept. It represents a specific, discrete action that a user takes within your product. These are the “verbs” of your user’s story—they clicked, they viewed, they completed, they shared.
Examples of critical events include:
- Signed Up
- Viewed Homepage
- Song Played
- Added Item to Cart
- Completed Purchase
Tracking these events allows you to count how many times key actions occur. However, counting actions alone provides limited insight. To understand the context behind these actions, we need properties.
Event Properties: The Rich Context (The “Who, What, Where”)
Event Properties are details that describe a specific event, providing invaluable context. If an event is the verb, event properties are the adverbs and direct objects that enrich the sentence. They answer the crucial questions of “what,” “where,” “how,” and “how much.”
For example, for a Song Played event, simply knowing it happened isn’t enough. The event properties provide the real insight:
- genre: ‘Rock’
- artist_name: ‘The Beatles’
- song_length_seconds: 185
- source: ‘Playlist’
This rich context is what enables powerful segmentation and analysis later. With these properties, you can move beyond asking “How many songs were played?” to asking, “What percentage of songs played last week were from the ‘Rock’ genre and originated from a user-created playlist?”
User Properties: The “Nouns” of Your Users
While event properties describe an action, User Properties describe the user themselves. These are the “nouns” or attributes that are tied to an individual user profile. They provide context about who is performing the action.
Examples of user properties include:
- plan_type: ‘Premium’
- user_location: ‘USA’
- account_age_days: 365
- number_of_logins: 42
User properties are essential for comparing the behavior of different types of users. They allow you to ask strategic questions like, “Do ‘Premium’ plan users play more songs than ‘Free’ plan users?” or “Are users from the USA more likely to share content than users from other locations?”
Understanding these three core concepts—Events, Event Properties, and User Properties—is the first step to creating a tracking plan that will empower you to answer your most important business questions.
III. The “How”: A Simple Explanation of Amplitude SDKs
Understanding what data to track (events and properties) is the strategic part. Understanding how that data gets from your product into Amplitude is the technical part. While you don’t need to be a developer, grasping the core mechanism will make your collaboration with your engineering team far more effective. The primary tool for this is the Amplitude SDK.
What is an SDK? Your Data’s Delivery Service
Think of an SDK (Software Development Kit) as a pre-built code library, or a toolkit, provided by Amplitude that your developers add to your product’s codebase. You can imagine it as a specialized delivery service that knows exactly how to package and send information to the right address.
What Does the SDK Do?
The SDK’s job is to handle the complex work behind the scenes. When a user performs an action that you’ve decided to track (like clicking a button), your application’s code tells the Amplitude SDK what happened. The SDK then:
- Packages the Data: It bundles up the event name (e.g., Completed Purchase) and all its associated properties (e.g., price, category) into a format that Amplitude’s servers can understand.
- Adds Important Context: It automatically collects some useful information, like the user’s device type, operating system, and location, enriching your data without extra effort.
- Sends the Data Securely: It transmits this packaged information securely over the internet to your specific Amplitude project.
By using the SDK, your developers don’t have to build this complex data transmission system from scratch. They can simply use the straightforward commands provided by the SDK to track the events you’ve defined in your plan.
Different SDKs for Different Platforms
It’s important to know that Amplitude provides different SDKs for different technical environments. Your development team will select the one that matches your product’s technology stack. For example:
- The JavaScript SDK is used for web applications.
- The iOS (Swift/Objective-C) SDK is used for iPhone and iPad apps.
- The Android (Kotlin/Java) SDK is used for Android apps.
- There are also SDKs for many other backend and application frameworks.
You don’t need to know how these work in detail. Simply understand that the SDK is the essential technical component that makes instrumentation possible, acting as the bridge between your product and your Amplitude analytics workspace.
IV. A Practical Example: Instrumenting Your First Core Event
Now, let’s connect the strategic planning from Part 1 with the technical concepts we’ve just discussed. Remember that simple tracking plan you created with your 3-5 core events? This plan becomes the direct blueprint for your development team’s instrumentation work.
Let’s walk through a common and critical scenario: tracking a purchase event.
The Scenario: A User Completes a Purchase
Imagine a user on your e-commerce website adds a product to their cart and successfully completes the checkout process. This is a crucial conversion event you absolutely need to track. In your tracking plan, you might have defined this event as:
- Event Name: Completed Purchase
- Event Properties: product_id, price, category, promo_code_used
The Implementation: A Pseudo-Code Example
When a developer implements this, they will use the Amplitude SDK to send this information. While the exact code will vary slightly depending on the programming language (JavaScript for web, Swift for iOS, etc.), the concept is universal.
Here is a simple, readable pseudo-code example of what this looks like:
| // This code would run after a successful transactionamplitude.track(‘Completed Purchase’, { product_id: ‘SKU-12345’, price: 49.99, category: ‘Footwear’, promo_code_used: true}); |
Breaking Down the Example in Plain Language:
This small block of code is incredibly powerful. Here’s what it’s telling the Amplitude platform to do:
- amplitude.track(…): This is the core command from the SDK that says, “Hey, Amplitude, track an event right now.”
- ‘Completed Purchase’: This is the Event Name. It’s a simple text string that matches the name you defined in your tracking plan. Using a consistent name is critical.
- {…}: The curly braces contain the Event Properties. This is all the rich context that describes this specific purchase.
- product_id: ‘SKU-12345’: This property tells you which product was purchased.
- price: 49.99: This property captures the value of the transaction.
- category: ‘Footwear’: This property allows you to segment purchases by product category later on.
- promo_code_used: true: This is a boolean (true/false) property that tells you if a discount was applied.
By instrumenting this single event with these properties, you can now start answering critical business questions like, “What is our average purchase price for items in the ‘Footwear’ category?” or “How many of our purchases last month involved a promo code?” This is how a simple, well-defined event becomes the foundation for actionable business intelligence.

V. The Most Important Piece of Data: Identifying the User
We’ve talked about tracking what users do (events) and the context of those actions (properties). But to perform meaningful long-term analysis, you must be able to connect all of these actions back to a single, consistent user over time. Properly identifying your users is the single most important part of your instrumentation strategy.
The Anonymous vs. Known User Problem
When a new visitor first arrives at your website or opens your app, Amplitude doesn’t know who they are. It assigns them a temporary, anonymous ID to track their initial actions. If that user leaves and comes back later on a different device (or even on the same device after clearing their cookies), Amplitude will see them as a new anonymous user.
This creates a major problem for analysis. You can’t understand the true customer journey, you can’t measure long-term retention, and you can’t accurately calculate customer lifetime value if you’re treating the same person as multiple different anonymous users.
The Solution: setUserId – The Key to a Unified Journey
The solution is to tell Amplitude who the user is as soon as you know their identity—typically, when they sign up for an account or log in. This is accomplished with a specific and crucial command in the Amplitude SDK, most commonly called setUserId.
When a user logs in, your development team will implement a call that looks something like this:
amplitude.setUserId(‘user_id_from_your_database’);
- ‘user_id_from_your_database’: This isn’t a literal string. It represents the unique, stable identifier for that user that exists in your own internal database (e.g., 1138, 4b2a-cdef, etc.). This ID should never change for that user.
The Strategic Impact of setUserId
Once you call setUserId, Amplitude automatically merges the user’s previous anonymous activity with their newly identified profile. All their future actions on that device will now be tied to this permanent user ID. If they log in on another device (e.g., their mobile phone) and you call setUserId with the same ID, Amplitude will also merge that activity into the same unified profile.
This is what stitches a user’s entire journey together across multiple sessions and devices. Without it, you are only analyzing disconnected sessions. With it, you can accurately measure crucial metrics like:
- User Retention: How many signed-up users come back after 7, 30, or 90 days?
- Customer Lifetime Value (LTV): What is the total value of a user over time?
- True Conversion Funnels: How many sessions did it take for a user to finally convert?
Failing to implement setUserId correctly is a mistake that can render much of your long-term behavioral analysis ineffective. Ensure it’s a top priority in your discussions with your development team.
VI. Verifying Your Data: Is It Working?
After your development team has started implementing your tracking plan, you shouldn’t have to blindly trust that the data is flowing correctly. Amplitude provides accessible tools that allow anyone, including non-technical team members, to verify the instrumentation in real-time. This step is crucial for quality assurance and building confidence in your data from day one.
Introducing Amplitude’s User Look-Up (formerly User Stream)
The easiest way to see your instrumentation in action is through a feature often called User Look-Up (previously known as User Stream or Event Stream). Think of it as a live, real-time feed of all the events being sent to Amplitude for a single, specific user. It’s your window into the raw data flowing from your product.
A Simple Test Workflow for Non-Technical Stakeholders
You can use this feature to conduct a simple, powerful test to confirm that everything is connected and working as expected.
Here’s a step-by-step workflow:
- Coordinate with Your Developer: Ask a developer on your team to provide you with your specific User ID or the Device ID that Amplitude is using to track you in your test or development environment.
- Navigate to User Look-Up: In your Amplitude project, find the “User Look-Up” feature (its exact location in the UI may vary, but it’s typically under a “Data” or “Users” section).
- Find Your User Profile: Enter your specific User ID or Device ID into the search field. This will bring up your individual user profile and its associated event stream.
- Perform an Action in Your Product: Now, in your app or on your website (in the test version where instrumentation is active), perform one of the actions you planned to track. For example, click the “Create Project” button or play a specific song.
- Watch the Event Appear: Within seconds, you should see that exact event appear at the top of your event stream in the Amplitude UI. You can click on it to inspect all the Event Properties that were sent along with it.
Why This is So Powerful
This simple validation exercise accomplishes several key things:
- It confirms the connection is working: You know that your product is successfully communicating with your Amplitude project.
- It verifies your tracking plan: You can check if the event name (Create Project) and the associated properties (project_name, template_used, etc.) match what you defined in your plan.
- It fosters collaboration: It creates a simple, shared process for product managers and developers to jointly confirm that instrumentation is being implemented correctly.
Make this validation workflow a standard part of your process for instrumenting any new event. It’s a quick check that saves significant time and prevents data quality issues down the line.
VII. Foundational Best Practices for High-Quality Instrumentation
Thoughtful instrumentation is an ongoing discipline, not a one-time setup. Adhering to a set of foundational best practices will ensure your data remains clean, trustworthy, and scalable as your product and your team evolve. Implementing these habits from the start will save you from significant data debt in the future.
1. Use a Consistent Naming Convention
This is a simple yet profoundly impactful practice. Decide on a clear, consistent naming convention for your events and properties and stick to it religiously. A common and effective format is Object-Verb, past tense (e.g., Project_Created, Song_Played, User_Invited).
- Why it Matters: A consistent naming scheme makes your data dramatically easier to read, understand, and search within the Amplitude interface. It prevents confusion where different team members might track the same action with different names (e.g., user_signed_up vs. SignUp_Completed), which would fragment your analysis.
2. Start Small, Then Iterate and Expand
Resist the temptation to track every single click, hover, and interaction from day one. This “track everything” approach quickly leads to a noisy, overwhelming dataset that is difficult to analyze.
- Why it Matters: Revisit the principle from Section II: start with your 3-5 most critical business events. Instrument those correctly, begin analyzing the data, and let your initial findings and new business questions guide what you decide to track next. This iterative approach ensures that every event you add has a clear purpose and analytical value.
3. Use a Data Taxonomy Tool (Like Amplitude’s)
As you add more events and properties, managing them becomes crucial. Amplitude has a built-in feature called Taxonomy (or a similar data governance tool) that acts as a central dictionary for your data.
- Why it Matters: Using this tool allows you to add descriptions to your events, categorize them, and set their status (e.g., “Active,” “Planned,” “Deprecated”). This creates a single source of truth that helps new team members understand what is being tracked and ensures data consistency as your organization scales.
4. Crucial Rule: Do Not Send Personally Identifiable Information (PII)
This is a critical best practice for privacy, security, and legal compliance. Unless you have a specific, compliant reason and have configured your systems accordingly (which is an advanced topic), you should NOT send sensitive PII directly to Amplitude as event or user properties.
- What to Avoid: Data like full names, email addresses, phone numbers, street addresses, etc.
- Why it Matters: Sending PII to analytics platforms can violate privacy regulations like GDPR and CCPA and put your user’s data at risk. Instead, rely on the anonymous User ID you define to track individuals. All sensitive user information should remain securely in your own backend database.
By instilling these best practices in your team’s workflow, you build a scalable and reliable analytics foundation that will serve your business for years to come.
VIII. Conclusion: Data is Flowing – Now the Analysis Begins
By following the steps in this guide, you have accomplished the most critical technical step in your analytics journey: you have successfully bridged the gap between your product and your Amplitude project. Your foundational instrumentation is in place, and real user data is now flowing into a platform designed to help you understand it.
You now grasp the core concepts of Events, Event Properties, and User Properties. You understand the role of the SDK, how to properly identify users to create a unified customer journey, and—most importantly—how to verify that your data is being collected accurately. This is a significant milestone that moves you from the realm of planning into the world of active data analysis.
But as we’ve emphasized, instrumentation is the foundation, not the final destination. The true power of Amplitude is unlocked when you begin to query this data, visualize trends, and transform raw events into actionable business insights.
Now that your data is flowing, the real work (and the exciting part) of analysis can begin.
What’s Next?
In Part 3 of our Getting Started with Amplitude series, we will take the data you are now collecting and guide you through building your first essential charts. We’ll explore how to answer fundamental product questions by creating reports for Funnel Analysis, User Retention, and Segmentation, transforming your raw event stream into a clear view of your product’s performance.
While this guide covers the fundamentals to get you started, designing and implementing a robust, scalable instrumentation strategy that aligns with your long-term business goals can be complex.
If you need expert guidance to architect your data taxonomy and ensure your analytics foundation is built to drive real business value, our team at e-CENS is here to help.

Frequently Asked QuestionWhat is instrumentation in Amplitude and why is it important?
Instrumentation in Amplitude is the deliberate process of sending data about user actions within your product into your Amplitude project. It connects your application’s activity to Amplitude’s analytics engine, transforming an empty project into a valuable source of product intelligence. Good instrumentation ensures trustworthy data and reliable insights, while poor instrumentation leads to confusion and inaccurate metrics.
What are the core data building blocks in Amplitude?
The three core building blocks in Amplitude are Events, Event Properties, and User Properties. Events represent specific user actions (the “verbs”), Event Properties provide rich context about those actions (the “who, what, where”), and User Properties describe attributes of the users themselves (the “nouns”). Understanding these helps create a tracking plan for meaningful analysis.
How does the Amplitude SDK work to send data from my product?
The Amplitude SDK is a pre-built code library added to your product that packages user actions and their context into a format Amplitude can receive. It collects event names and properties, enriches the data with device and location info, and securely sends it to your Amplitude project. Different SDKs exist for different platforms like JavaScript for web or Swift for iOS.
How do I track a key event like a purchase using Amplitude?
To track a purchase event, your developers use the Amplitude SDK to send an event with a name like “Completed Purchase” along with properties such as product_id, price, category, and promo_code_used. For example, in pseudo-code:
amplitude.track(‘Completed Purchase’, { product_id: ‘SKU-12345’, price: 49.99, category: ‘Footwear’, promo_code_used: true });
This lets you analyze purchase behavior with rich detail.
Why is it crucial to set a user ID in Amplitude instrumentation?
Setting a user ID with setUserId links anonymous sessions into a single consistent user profile once the user logs in or signs up. This unifies their journey across devices and sessions, enabling accurate measurement of retention, lifetime value, and conversion funnels. Without this, users appear as disconnected anonymous visitors, limiting analysis capability.
How can non-technical team members verify if Amplitude tracking is working?
Amplitude’s User Look-Up feature allows anyone to see a real-time feed of events sent for a specific user or device ID. By performing an action in the product and checking if the corresponding event appears instantly with correct properties, non-technical stakeholders can confirm tracking is implemented correctly and data is flowing.
What are some best practices for maintaining high-quality instrumentation in Amplitude?
Key best practices include using a consistent naming convention for events and properties (e.g., Object-Verb past tense), starting small with 3-5 core events before expanding, leveraging Amplitude’s Taxonomy tool for data governance, and never sending personally identifiable information (PII) like names or emails directly to Amplitude to ensure privacy compliance.
How does good instrumentation impact long-term data quality and business insights?
Good instrumentation lays a solid foundation that enables trustworthy, deep insights over time. It ensures that data accurately reflects user behavior and supports reliable analysis. Poor instrumentation causes fragmented data, confusion, and unreliable metrics that undermine confidence and decision-making.
What should I do after my instrumentation is set up and data starts flowing?
Once your foundational instrumentation is in place and data flows into Amplitude, the next step is analysis. This means querying your events to build reports like Funnel Analysis, User Retention, and Segmentation to transform raw data into actionable insights about your product’s performance.
Why should I avoid sending personally identifiable information (PII) to Amplitude?
Sending PII such as full names, emails, or phone numbers violates privacy laws like GDPR and CCPA and can expose user data to risks. Instead, use anonymous user IDs to track individuals securely while keeping sensitive information stored only in your backend systems.






