Data Subject Request API Version 1 and 2
Data Subject Request API Version 3
Platform API Overview
Accounts
Apps
Audiences
Calculated Attributes
Data Points
Feeds
Field Transformations
Services
Users
Workspaces
Warehouse Sync API Overview
Warehouse Sync API Tutorial
Warehouse Sync API Reference
Data Mapping
Warehouse Sync SQL Reference
Warehouse Sync Troubleshooting Guide
ComposeID
Warehouse Sync API v2 Migration
Calculated Attributes Seeding API
Bulk Profile Deletion API Reference
Custom Access Roles API
Data Planning API
Group Identity API Reference
Pixel Service
Profile API
Events API
mParticle JSON Schema Reference
IDSync
AMP SDK
Initialization
Configuration
Network Security Configuration
Event Tracking
User Attributes
IDSync
Screen Events
Commerce Events
Location Tracking
Media
Kits
Application State and Session Management
Data Privacy Controls
Error Tracking
Opt Out
Push Notifications
WebView Integration
Logger
Preventing Blocked HTTP Traffic with CNAME
Linting Data Plans
Troubleshooting the Android SDK
API Reference
Upgrade to Version 5
Cordova Plugin
Identity
Direct URL Routing FAQ
Web
Android
iOS
Initialization
Configuration
Event Tracking
User Attributes
IDSync
Screen Tracking
Commerce Events
Location Tracking
Media
Kits
Application State and Session Management
Data Privacy Controls
Error Tracking
Opt Out
Push Notifications
Webview Integration
Upload Frequency
App Extensions
Preventing Blocked HTTP Traffic with CNAME
Linting Data Plans
Troubleshooting iOS SDK
Social Networks
iOS 14 Guide
iOS 15 FAQ
iOS 16 FAQ
iOS 17 FAQ
iOS 18 FAQ
API Reference
Upgrade to Version 7
Getting Started
Identity
Upload Frequency
Getting Started
Opt Out
Initialize the SDK
Event Tracking
Commerce Tracking
Error Tracking
Screen Tracking
Identity
Location Tracking
Session Management
Initialization
Configuration
Content Security Policy
Event Tracking
User Attributes
IDSync
Page View Tracking
Commerce Events
Location Tracking
Media
Kits
Application State and Session Management
Data Privacy Controls
Error Tracking
Opt Out
Custom Logger
Persistence
Native Web Views
Self-Hosting
Multiple Instances
Web SDK via Google Tag Manager
Preventing Blocked HTTP Traffic with CNAME
Facebook Instant Articles
Troubleshooting the Web SDK
Browser Compatibility
Linting Data Plans
API Reference
Upgrade to Version 2 of the SDK
Getting Started
Identity
Web
Alexa
Introduction
Outbound Integrations
Firehose Java SDK
Inbound Integrations
Compose ID
Data Hosting Locations
Migrate from Segment to mParticle
Migrate from Segment to Client-side mParticle
Migrate from Segment to Server-side mParticle
Segment-to-mParticle Migration Reference
Glossary
Rules Developer Guide
Node SDK
Go SDK
Python SDK
Ruby SDK
Java SDK
Overview
Step 1. Create an input
Step 2. Verify your input
Step 3. Set up your output
Step 4. Create a connection
Step 5. Verify your connection
Step 6. Track events
Step 7. Track user data
Step 8. Create a data plan
Step 9. Test your local app
Overview
Step 1. Create an input
Step 2. Verify your input
Step 3. Set up your output
Step 4. Create a connection
Step 5. Verify your connection
Step 6. Track events
Step 7. Track user data
Step 8. Create a data plan
Step 1. Create an input
Step 2. Create an output
Step 3. Verify output
API Credential Management
The Developer's Guided Journey to mParticle
Create an Input
Start capturing data
Connect an Event Output
Create an Audience
Connect an Audience Output
Transform and Enhance Your Data
The new mParticle Experience
The Overview Map
Introduction
Data Retention
Connections
Activity
Live Stream
Data Filter
Rules
Tiered Events
mParticle Users and Roles
Analytics Free Trial
Troubleshooting mParticle
Usage metering for value-based pricing (VBP)
Introduction
Sync and Activate Analytics User Segments in mParticle
User Segment Activation
Welcome Page Announcements
Project Settings
Roles and Teammates
Organization Settings
Global Project Filters
Portfolio Analytics
Analytics Data Manager Overview
Events
Event Properties
User Properties
Revenue Mapping
Export Data
UTM Guide
Data Dictionary
Query Builder Overview
Modify Filters With And/Or Clauses
Query-time Sampling
Query Notes
Filter Where Clauses
Event vs. User Properties
Group By Clauses
Annotations
Cross-tool Compatibility
Apply All for Filter Where Clauses
Date Range and Time Settings Overview
Understanding the Screen View Event
Analyses Introduction
Getting Started
Visualization Options
For Clauses
Date Range and Time Settings
Calculator
Numerical Settings
Assisted Analysis
Properties Explorer
Frequency in Segmentation
Trends in Segmentation
Did [not] Perform Clauses
Cumulative vs. Non-Cumulative Analysis in Segmentation
Total Count of vs. Users Who Performed
Save Your Segmentation Analysis
Export Results in Segmentation
Explore Users from Segmentation
Getting Started with Funnels
Group By Settings
Conversion Window
Tracking Properties
Date Range and Time Settings
Visualization Options
Interpreting a Funnel Analysis
Group By
Filters
Conversion over Time
Conversion Order
Trends
Funnel Direction
Multi-path Funnels
Analyze as Cohort from Funnel
Save a Funnel Analysis
Explore Users from a Funnel
Export Results from a Funnel
Saved Analyses
Manage Analyses in Dashboards
Dashboards––Getting Started
Manage Dashboards
Dashboard Filters
Organize Dashboards
Scheduled Reports
Favorites
Time and Interval Settings in Dashboards
Query Notes in Dashboards
User Aliasing
The Demo Environment
Keyboard Shortcuts
Analytics for Marketers
Analytics for Product Managers
Compare Conversion Across Acquisition Sources
Analyze Product Feature Usage
Identify Points of User Friction
Time-based Subscription Analysis
Dashboard Tips and Tricks
Understand Product Stickiness
Optimize User Flow with A/B Testing
User Segments
IDSync Overview
Use Cases for IDSync
Components of IDSync
Store and Organize User Data
Identify Users
Default IDSync Configuration
Profile Conversion Strategy
Profile Link Strategy
Profile Isolation Strategy
Best Match Strategy
Aliasing
Overview
Create and Manage Group Definitions
Introduction
Catalog
Live Stream
Data Plans
Blocked Data Backfill Guide
Predictive Attributes Overview
Create Predictive Attributes
Assess and Troubleshoot Predictions
Use Predictive Attributes in Campaigns
Predictive Audiences Overview
Using Predictive Audiences
Introduction
Profiles
Warehouse Sync
Data Privacy Controls
Data Subject Requests
Default Service Limits
Feeds
Cross-Account Audience Sharing
Approved Sub-Processors
Import Data with CSV Files
CSV File Reference
Glossary
Video Index
Single Sign-On (SSO)
Setup Examples
Introduction
Introduction
Introduction
Rudderstack
Google Tag Manager
Segment
Advanced Data Warehouse Settings
AWS Kinesis (Snowplow)
AWS Redshift (Define Your Own Schema)
AWS S3 Integration (Define Your Own Schema)
AWS S3 (Snowplow Schema)
BigQuery (Snowplow Schema)
BigQuery Firebase Schema
BigQuery (Define Your Own Schema)
GCP BigQuery Export
Snowflake (Snowplow Schema)
Snowplow Schema Overview
Snowflake (Define Your Own Schema)
Aliasing
The Did [not] Perform clause allows you to limit query rows to users who did or did not do a selected event before or after performing the initial event. It is a great way to examine users who performed more than one event in a sequence you can define in Analytics. Here’s a simple example: you could use a did [not] perform clause to view users who did Subscribe after Email Clicked.
This feature is only available in Segmentation. To use this feature, you will need a query row that already has an initial event.
To use a Did [not] Perform clause, select an event from the Did [not] Perform data dropdown. This article contains information about modifications that will provide you with more ways to understand your users.
After selecting an event in the Did [not] Perform dropdown, decide whether you want to understand the data of users who did this event or did not do this event. For example:
Note: Switch from “Total count of” to “Users who performed” to examine the count of users rather than the count of events, but keep in mind that this is the dropdown that determines whether the query returns an event count or user count.
When the query is set to “Total count of”, users may be counted in the results even though they explicitly meet the did not perform clause criteria. This is because, in “Total count of” mode, the query may count a user multiple times if they satisfy the query criteria.
To illustrate this, consider a query measuring “Total count of Subscribe for users who did not do Email Clicked within the prior 1 hour”.
A user who logs on for the first time at 12pm and performs Subscribe will have their action counted because they did not perform Email Clicked within the prior hour.
If the same user then performs Email Clicked at 1:30pm, and then performs Subscribe again at 2pm, their action will not be counted twice because this instance does not meet the criteria, as they did do Email Clicked within the hour prior.
After adding an event using the Did [not] Perform clause, you can adjust for the number of times users performed this event, such as greater than or equal to one time, less than five times, or greater than three times. For example, you can view the event count for users who did Subscribe, and also did Email Clicked greater than three times within the seven days prior to subscribing.
After adjusting the event count, customize the date range. The first menu allows you to select whether the Did [not] Perform clause event should have occurred prior to the initial event, subsequent to the initial event, or between two selected calendar dates. When using between, the second menu displays a calendar, allowing you to select a specific date range.
When using within the prior/subsequent, the second menu allows you to select a preset or custom count based on minutes, hours, days, weeks, or months.
Multiple Did [not] Perform clauses may be added by selecting additional events from the Did [not] Perform dropdown.
As events are added, you can adjust the event count and date range of each additional Did [not] Perform clause. When using a relative date range, the date range is always relative to the date of the base event in the query and not the other Did [not] Perform clauses.
For example, you could view the event count for users who did Subscribe for users who also did Email Clicked two times or more within the prior seven days, and also did Blog View three times or more within the prior seven days. This will show users who clicked email links and viewed content within seven days before subscribing.
The most common method of analyzing a user journey is to use the Funnel tool. The Funnel tool is specifically designed to measure user journeys, and is highly customizable through features such as Conversion Precision, Optional Steps, and Tracking Properties. However, user journeys combined with a Conversion Limit can be recreated in a Segmentation query combined with a did [not] perform clause. However, these two methods can yield different results. Consider the following queries:
These two queries are measuring the same user journey - a user who does Email Clicked, and then within 24 hours also does Subscribe. However, the funnel query shows a considerably lower amount of converted users. This is due to the following:
Consider the following example:
The funnel tool will look at the first instance of Email Clicked (at 10AM), and see that the user did not complete Subscribe within 24 hours of that instance of Email Clicked. This user is therefore not counted in the funnel analysis.
The segmentation tool will look at all instances of Email Clicked, and therefore see that the user performed Email Clicked at 13PM, and Subscribe within 24 hours of that event. This user is therefore counted in the segmentation analysis.
So, when comparing user journeys in Funnel to user journeys in Segmentation, the user count will always be lower in Funnel due to the fact that the Funnel tool only counts each user once, and looks at the first instance of the initial event.
Take a look at the following example query:
To decide which blog view events will be counted, Analytics will look at the timestamp on each blog view and check to see if there is a create profile event that falls in the 7 subsequent calendar days. If this is the case, the blog view will be counted in the analysis.
Note: Did [not] Perform clause events could have occurred outside of the main date range in the query builder.
For example, Subscribe events in the chart window could have occurred within the Last 7 Days of the current date, as set in the date range menu at the base of the query builder. However, the Email Clicked and Blog View events will have occurred within the seven days prior to the Subscribe event.
If a Subscribe event occurred six days ago, and Email Clicked occurred six days prior to that, the Subscribe event will be counted even though Email Clicked occurred 12 days prior to today.
Was this page helpful?