# Amplitude Documentation — Data # Generated: 2026-09-08T23:39:57Z # Pages included: 81 of 81 # Source: https://amplitude.com/docs/llms.txt # Product feed: llms-data.txt > Data planning, sources, destinations, governance, warehouse-native, and CDP workflows. > For AI agents: a documentation index is available at [/docs/llms.txt](/docs/llms.txt). Append `.md` to any page URL for markdown, or send `Accept: text/markdown`. ================================================================================ # Data URL: https://amplitude.com/docs/data ================================================================================ # Data Send data into Amplitude, organize and clean it, and activate it across your downstream tools. Connect sources, resolve identities across devices, govern your taxonomy, and stream behavioral data to the rest of your stack. **Outcome:** [Get every event into Amplitude](https://amplitude.com/docs/data/source-catalog) Stream activity from SDKs, servers, warehouses, and pre-built sources so no behavior goes uncounted. **Outcome:** [Activate insights in your stack](https://amplitude.com/docs/data/destination-catalog) Send behavioral data and cohorts to the marketing, ad, and warehouse tools your team already uses. **Outcome:** [See one user, not many](https://amplitude.com/docs/data/profiles) Stitch warehouse profile data to behavioral events so each person is the same user across devices. **Outcome:** [Trust the data your team queries](https://amplitude.com/docs/data/create-tracking-plan) Lock in a tracking plan, review changes, and keep events on-spec as your product evolves. **Outcome:** [Fix data without redeploying](https://amplitude.com/docs/data/transformations) Rename, redact, or reshape events on the way in instead of waiting on an instrumentation fix. **Outcome:** [Add the context analysts need](https://amplitude.com/docs/data/lookup-tables) Join reference data like plans, regions, or accounts to events so every chart has the full picture. ## Plan and collect data Start with an implementation plan that defines the events, users, and properties your team needs. - [Plan your implementation](https://amplitude.com/docs/get-started/plan-your-implementation) to connect product questions to the events you track. - [Create a tracking plan](https://amplitude.com/docs/data/create-tracking-plan) to document event names, properties, and ownership. - [Choose client-side or server-side tracking](https://amplitude.com/docs/data/client-side-vs-server-side) to match your product architecture. - [Use Autocapture](https://amplitude.com/docs/data/autocapture) to collect website interactions before you manually instrument every event. ## Govern and activate data Keep your taxonomy healthy, then send trusted data to the teams and tools that need it. - [Configure schema](https://amplitude.com/docs/data/configure-schema) to monitor event volume, property types, and unexpected changes. - [Transform incoming events](https://amplitude.com/docs/data/transformations) to rename, redact, or reshape data after ingestion. - [Manage data access controls](https://amplitude.com/docs/data/data-access-control) to limit access to sensitive events and properties. - [Forward data to destinations](https://amplitude.com/docs/data/destination-catalog) to activate behavioral data in downstream tools. ### [Get Started with Amplitude Data](https://academy.amplitude.com/getting-started-with-amplitude-data) Learn the fundamentals of Amplitude Data. ================================================================================ # Overview of Amplitude Data URL: https://amplitude.com/docs/data/data-overview ================================================================================ # Overview of Amplitude Data Amplitude Data governs the event taxonomy behind your Amplitude project. It defines events and properties in a shared plan, validates incoming data against that plan, and provides tools to clean, enrich, and monitor data after ingestion. Use it when multiple teams instrument the same product and you need one source of truth for what every event means. ## Planning and instrumentation - Create a plan directly in Amplitude. Define your events, properties, and taxonomy standards directly in Amplitude. This information appears when you select events and properties. Amplitude Analytics monitors this information to make sure your incoming data matches your spec. - Use the Ampli developer toolkit. Ampli uses your plan to generate a type-safe tracking library and lints code to ensure proper tracking of your events and properties. Planning directly in Amplitude Data gives you an up-to-date plan your company can use instead of one-off spreadsheets or wiki pages that can quickly become outdated. Refer to the walkthrough of the [complete planning workflow](https://amplitude.com/docs/data/data-planning-workflow) for the process from start to finish. ## Data management For data Amplitude has ingested: - Improve data discoverability by enriching the metadata on your events and properties. Ensure your company has a shared definition and understanding of all your tracking. - Clean up your data with tools to transform existing events and properties, drop incorrect data from your queries, and block or delete data you no longer want to collect. - Enrich your data by using your existing events and properties to create new custom events, map existing properties to values with lookup properties, and generate new derived properties based on formulas. - Monitor your data with observability, which monitors your incoming data and compares it to your plan in real time. Amplitude also provides Data Assistant, which recommends and automates changes that improve your data quality. ================================================================================ # Getting started with Amplitude URL: https://amplitude.com/docs/data/data-get-started ================================================================================ # Getting started with Amplitude Send data to Amplitude with one of the SDKs or a third-party integration like Segment, mParticle, or Tealium, then instrument events, user properties, and group types so charts reflect real product usage. Set up at least two projects (one for staging, one for production) before you ship instrumentation, because Amplitude can't retroactively rename or change historical event data. Start here if you're standing up a new Amplitude project from scratch. If you already send data and need to model it for analysis, go to the [Data Planning Playbook](https://amplitude.com/docs/data/data-planning-playbook) instead. ## Instrumentation best practices Follow these recommended best practices when instrumenting Amplitude: - **Always test your instrumentation**: Amplitude recommends having a testing project for every production project in your organization. A testing project gives you a reliable way to test your instrumentation before sending production data to Amplitude. - **Amplitude can't retroactively change historical data**: If your instrumentation is wrong, you can't clean up the data you collect later. - **Set up at least two Amplitude projects**: One for your development or staging environment, and one for your production environment. Two projects keep testing data separate from production data. - **Send the right keys**: If you send data server-side with the HTTP API, send a `session_id` and `insert_id` with each event. ## How Amplitude receives data You can send data to Amplitude through SDKs or through a third party: - [SDK Catalog](https://amplitude.com/docs/sdks/analytics). - A third party like [Segment](https://segment.com/), [mParticle](https://www.mparticle.com/), or [Tealium](https://tealium.com/). ## Amplitude APIs Amplitude has many APIs you can use with the platform. Refer to all the [API references](https://amplitude.com/docs/apis). ## Amplitude schema The [Data Planning Playbook](https://amplitude.com/docs/data/data-planning-playbook) explains how the Amplitude schema fits together. Refer to it for a deeper look at taxonomy design. ### Naming conventions for events After you instrument an event, you can never change the name of that event type in the raw data. For example, in v1.0 of your app, a developer instruments the following event type: `Amplitude.getInstance().logEvent('Play song');` Later, in v2.0 of your app, a developer instruments this event type: `Amplitude.getInstance().logEvent('play song');` Strings passed to Amplitude are case-sensitive, so Amplitude interprets these two event types as separate events. Make sure your event names follow a consistent syntax during instrumentation. ### Instrument user properties [User properties](https://amplitude.com/docs/data/user-properties-and-events) are attributes specific to individual users. Examples of user properties include location, language, account type, money spent, or player type. For recommendations on which user properties to track, refer to [the Data Planning Playbook](https://amplitude.com/docs/data/data-planning-playbook#properties). Amplitude SDKs include several user property operations you can use to update user property values: - **`set`**: Set or overwrite the property value. - **`setOnce`**: Set the value only if the value isn't already set. - **`unset`**: Unset the value to `null`. - **`add`**: Increment the numerical value by a specified number. - **`append`**: Append the value to the property array. - **`prepend`**: Prepend the value to the property array. You can also use the [Identify API](https://amplitude.com/docs/apis/analytics/identify) to update the values of a user's user properties without sending another event. The new values apply to the next event the user sends organically. ### Instrument group types To use Amplitude's [account-level reporting](https://amplitude.com/docs/analytics/account-level-reporting) feature, instrument group types. Account-level reporting lets you count by a distinct user property group, which lets you process data at the groups level instead of the individual users level. Amplitude allows a maximum of five group types. If you use a third-party tool to instrument Amplitude (mParticle, Segment, Tealium), this maximum threshold might be lower based on the partner's limitations. ## How Amplitude tracks unique users and sessions Amplitude tracks unique users through a system of user IDs, device IDs, and Amplitude IDs. To learn more, refer to [tracking unique users](https://amplitude.com/docs/data/sources/instrument-track-unique-users). In Amplitude, a session is a single continuous period of time a user is active within your product. Amplitude sends a session ID with every event, which lets it track sessions. For more information, refer to [tracking sessions in Amplitude](https://amplitude.com/docs/data/sources/instrument-track-sessions). ## Popular SDK configuration options This section details Amplitude SDK configuration options that users commonly modify. - **`minTimeBetweenSessions` (iOS/Android)**: The minimum time you must background your app before a new session begins. - **`sessionTimeout` (Web)**: The minimum time between events that must elapse before a new session begins. - **`batchEvents`**: Enabled by default for mobile SDKs and optional for Web. - **`eventUploadPeriodMillis`**: If `batchEvents` is enabled, this option sets the time between event batch uploads. - **`eventUploadThreshold`**: If `batchEvents` is enabled, this option sets the minimum number of events per batch. - **`optOut`**: When enabled, opts the current user out of tracking. - **`offline`**: Prevents the sending of events. - **`saveEvents`**: Enabled by default for all SDKs. Lets the SDK save unsent events onto the device. - **`savedMaxCount`**: The maximum number of unsent events saved on a device. The default is 1000. ## Backfilling data Consider backfilling data if: 1. **You want to analyze historic data in Amplitude**. For detailed instructions on backfilling data into Amplitude, refer to the [Data Backfill Guide](https://amplitude.com/docs/data/data-backfill). 2. **Your product already has existing users**. You want to accurately reflect when these [users were new](https://amplitude.com/docs/analytics/charts/event-segmentation/event-segmentation-build) in Amplitude. ================================================================================ # Getting set up with Amplitude Data URL: https://amplitude.com/docs/data/amplitude-data-get-started ================================================================================ # Getting set up with Amplitude Data Setting up event tracking means designing a tracking plan, implementing it with typed SDK code, catching instrumentation drift in QA, and retiring events as your product changes. Amplitude Data covers this full data lifecycle: planning, instrumenting, validating, and deprecating the events your product sends to Amplitude. ## Get data into Amplitude Amplitude supports several methods for ingesting data. You can collect data from your app using [SDKs](https://amplitude.com/docs/get-started/get-data-in). ### Choose an ingestion method Consider these factors when deciding which ingestion method works best for your organization. #### Use Amplitude SDKs Amplitude SDKs are a good way to integrate if you're getting started with analytics. You can use Ampli to keep your instrumentation clean from the start while retaining the flexibility to send data to [various destinations](https://amplitude.com/docs/data/destination-catalog) later. When using Amplitude SDKs, decide whether to send events from front-end clients or back-end servers: - **Client-side tracking**: Add client-side SDKs to your web and mobile apps. This method can be more direct because you can use default event tracking and capture both client-side and server-side interactions with your application. However, events that span all your clients require deployment changes across all your apps. On mobile, updates can take time depending on how long it takes your customers to update their apps. - **Server-side tracking**: Send events directly from your servers to Amplitude. For example, when tracking an order completion, send the event from the back-end server that processes the order. This centralized approach is generally the most reliable because a single place in your control sends the events. You also don't have to wait for customers to update their app version. Amplitude recommends server-side tracking for events that require high precision and client-side tracking for everything else. #### Use cloud storage, warehouses, and event streaming If you already have a reliable data source, connecting to that source can be the fastest way to get started with Amplitude. Customers often use these methods to connect with current sources of truth and use Amplitude's self-serve capabilities to expand data access across their company. You can use Amplitude's data management capabilities even when you connect through an existing source. ## What to track Identifying and planning the events and properties you want to track is essential to maximizing your data. A solid tracking plan helps you answer business questions and prevents gaps in your analyses. Use these resources to help decide what to track: - To get started quickly, read about [what events you need](https://amplitude.com/docs/get-started/select-events). That article recommends events and properties commonly tracked in each industry. - Refer to the [data planning playbook](https://amplitude.com/docs/data/data-planning-playbook) for a deeper understanding of creating a taxonomy from scratch. - If you've identified events and properties to track and want to get them into Amplitude, refer to [creating your tracking plan](https://amplitude.com/docs/data/create-tracking-plan). ## Best practices These practices help ensure good results both initially and as you scale with Amplitude Data. ### Establish a naming convention Simple, self-explanatory names that follow a consistent convention make your plan understandable across your organization. Consistent naming also prevents data quality issues. Two events with different capitalizations, such as `Song Played` and `song played`, appear as two separate events. Set your naming convention in [Settings](https://amplitude.com/docs/data/amplitude-data-settings), and Amplitude Data prompts anyone who creates events to follow that convention. ### Use a separate environment for testing Keep your data clean by using separate projects for development and production. Separate projects let you test your implementation without affecting your final business reports. They're also a good place to try data management tools before applying them to production data. Refer to [creating a project in Amplitude](https://amplitude.com/docs/get-started/create-project). ================================================================================ # Autocapture URL: https://amplitude.com/docs/data/autocapture ================================================================================ # Autocapture Autocapture collects a predefined set of user interactions from your website or app with one SDK snippet, no event-by-event instrumentation. On web, it captures sessions, page views, clicks, form interactions, file downloads, marketing attribution, and page URL enrichment through the [Browser SDK](https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2); on iOS and Android, it captures installs, upgrades, sessions, and screen views through the [iOS Swift SDK](https://amplitude.com/docs/sdks/analytics/ios/ios-swift-sdk) and [Android-Kotlin SDK](https://amplitude.com/docs/sdks/analytics/android/android-kotlin-sdk). Turn it on when you want baseline product analytics quickly, before you scope custom event tracking. Use Autocapture when you want broad baseline coverage immediately with no instrumentation work. Use precision tracking when you need custom events or properties tied to specific business logic, such as purchases or feature-specific actions. The two work together, so most teams run both. On the web, you can also use visual labeling to navigate your site and create new events from the click information. ## Autocapture and precision tracking Amplitude offers two primary ways to capture events: - Autocapture automatically collects a predefined set of events and properties in a standardized taxonomy using Amplitude SDKs. - Precision tracking instruments events and properties specific to your business needs and analyses. From the moment you install the SDK, Amplitude automatically collects data to provide insights into feature usage, funnel conversion rates, and click analysis on the web. The Browser SDK also enriches all events with page URL information, including previous page tracking and page type classification. Autocapture minimizes setup time, so you can move straight to analysis. To investigate specific actions in your application that require additional metadata, or to track events such as a purchase event that may be core to your business, use precision tracking. Precision tracking in code sends these events with a robust set of properties for deeper analysis. For example, imagine you're releasing a new feature and don't have time to implement precision tracking. Autocapture can serve as a safety net for collecting baseline metrics and answering engagement questions. After you have these insights and want to go deeper, work with your team to implement precisely tracked events and get the best of both approaches. ## Optimize your event volume Autocapture provides several configuration options to help you adjust your implementation to your needs. You can turn individual Autocapture events on and off as needed and tune those events further to optimize your event volume. The default configuration provides the right balance of automatically capturing events that matter while excluding ones that don't. This balance is critical when capturing clicks. By default, Amplitude captures clicks on interactive elements (for example, links, text fields, dropdowns, and other form elements). Amplitude also captures clicks on elements that result in a change on the page (for example, a new visual element) or a navigation to a new page. This configuration excludes clicks on blank areas, text highlighting, and similar actions to ensure you don't pay for low-value user behaviors. Amplitude recommends monitoring your event volume (go to _Settings > Plans & Billing_) as you make changes to ensure it matches your expectations. You can change your configuration to capture clicks only on specified elements (or elements with certain classes), track only on specific pages, or turn click tracking off while still using other Autocapture data such as page views and sessions. ## Your taxonomy with Autocapture Keeping your taxonomy clean and organized ensures users can find what they need. When you enable Autocapture, you get a predefined set of event and property types for ingestion. For example, the SDK captures click interactions as two events ("Element Clicked" and "Element Changed") with a predefined set of properties rather than a stream of noisy user interactions. With [visual labeling](https://amplitude.com/docs/data/visual-labeling), users in your organization create events directly from the UI. Consider the following when you plan your taxonomy: - Set up the correct permissions for each user. Users with a Member role or higher can create labeled events. - Align your naming convention with your existing taxonomy for labeled events. - Add descriptions to your labeled events to help other users understand their purpose. Additional details about labeled events: - Labeled events have a separate tab in _Data > Events_ to help you manage them differently from your raw ingested events. This tab displays who created the labeled events and the creation date for each event. - Labeled events have a different icon in the event dropdown so you and your users can distinguish them from other events. ## Privacy and security For many organizations, data privacy, security, and personally identifying information (PII) are critical factors when setting up data collection. Business needs, the purpose of your digital products, and compliance requirements between jurisdictions may vary. There's no one-size-fits-all solution that works in every situation. Autocapture provides flexible configuration options to help you adhere to your company's privacy and security policies and requirements. While ensuring your use of Amplitude complies with your data privacy policies and requirements is your responsibility, these settings help you reach compliance. ### Default Autocapture protections You control what information Autocapture collects and sends to the Amplitude platform. To update the events that Autocapture sends to Amplitude, refer to [Browser SDK | Disable Autocapture](https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#disable-autocapture). The following list describes Autocapture's default settings for capturing clicks and changes on page elements ("Element Clicked" and "Element Changed" events). The list also includes the following privacy and security considerations. You don't need to do anything to turn these protections on. They're always active. - For sensitive elements such as end user text inputs, selects, text area elements, and any HTML elements with `contenteditable="true"` as an attribute, the SDK only collects class names and the type attribute. Autocapture excludes any end user-inputted text. - Autocapture's default settings further restrict collection of sensitive input fields, such as passwords or form fields with the hidden attribute, and only capture class and type attribute values. Autocapture doesn't capture other details about these elements, including any content an end user populates in the input fields. - Autocapture captures the text your website or app displays. For example, the content (`textContent`) of the element clicked and its children. Amplitude doesn't recommend using Autocapture's element interaction tracking on pages that may contain sensitive information. Amplitude uses pattern matching to automatically mask any text content that looks like a credit card number, social security number, or email address. - The exception to these attribute collection rules is when an element has an explicit attribute added with the prefix `data-amp-track-`. This exception lets data in these attributes pass back to Amplitude intentionally. - Autocapture automatically removes value, event handlers, style, and react attributes. - Mask page titles in page view events by adding the `data-amp-mask` attribute to the `