Amplitude destination

We use Amplitude's v2 API

While we show the schemas that we map data to below, you’ll need to check out Amplitude’s documentation to learn more about their API.

Getting started

  1. Go to Data & Integrations > Integrations and select the Amplitude entry in the Directory tab.
  2. (Optional) Select the data sources that you want to connect to your outbound integration. You can always connect data sources later. We'll only show you data sources that work with your integration.
  3. Configure your integration.
    1. API Key: Amplitude project API key. You can find this key in the "General" tab of your Amplitude project.
    2. Secret Key: Amplitude project secret key. You can find this key in the "General" tab of your Amplitude project.
    3. Endpoint Region: The region to send your data.
  4. Click Enable Destination.

Actions

When you're done setting things up, you can go to the Actions tab to see how we map incoming data to your integration.

You may need to add actions for this integration

While we often have default triggers for actions, we don't always add those actions as defaults. You may need to add actions to make sure that you're sending all the data that you want to send to your integration. See our actions page for help setting up actions.

Log Event

Default Trigger:type = "track"

Send an event to Amplitude.

  • user_idstring
    Default: $.userId
    A unique identifier for a user. If your call references user ID you haven't added to Amplitude yet, then the user tied to that ID will not be marked "new" until their first event. Required unless device ID is present.
  • device_idstring
    Default: coalesce($.context.device.id, $.anonymousId)
    A device identifier, like the Identifier for Vendor (IDFV) on iOS. Required unless the request includes a user_id.
  • event_typestring
    Default: $.event
    A unique identifier for your event.
  • session_idstring(datetime)
    Default: $.integrations.Actions Amplitude.session_id
    The start time of the session, necessary if you want to associate events with a particular system. To use automatic Amplitude session tracking in browsers, enable Analytics 2.0 on your connected source.
  • timestring(datetime)
    Default: $.timestamp
    The timestamp of the event. If time is not sent with the event, it will be set to the request upload time.
  • event_propertiesobject
    Default: $.properties
    An object of key-value pairs that represent additional data to be sent along with the event. You can store property values in an array, but note that Amplitude only supports one-dimensional arrays. Date values are transformed into string values. object depth may not exceed 40 layers.
  • user_propertiesobject
    Default: $.traits
    An object of key-value pairs that represent additional data tied to the user. You can store property values in an array, but note that Amplitude only supports one-dimensional arrays. Date values are transformed into string values. object depth may not exceed 40 layers.
  • groupsobject
    Groups of users for the event as an event-level group. You can only track up to 5 groups. Note: This Amplitude feature is only available to Enterprise customers who have purchased the Accounts add-on.
  • app_versionstring
    Default: $.context.app.version
    The current version of your application.
  • platformstring
    Default: $.context.device.type
    Platform of the device.
  • os_namestring
    Default: $.context.os.name
    The name of the mobile operating system or browser that the user is using.
  • os_versionstring
    Default: $.context.os.version
    The version of the mobile operating system or browser the user is using.
  • device_brandstring
    Default: $.context.device.brand
    The device brand that the user is using.
  • device_manufacturerstring
    Default: $.context.device.manufacturer
    The device manufacturer that the user is using.
  • device_modelstring
    Default: $.context.device.model
    The device model that the user is using.
  • carrierstring
    Default: $.context.network.carrier
    The carrier that the user is using.
  • countrystring
    Default: $.context.location.country
    The current country of the user.
  • regionstring
    Default: $.context.location.region
    The current region of the user.
  • citystring
    Default: $.context.location.city
    The current city of the user.
  • dmastring
    The current Designated Market Area of the user.
  • languagestring
    Default: $.context.locale
    The language set by the user.
  • pricenumber
    Default: $.properties.price
    The price of the item purchased. Required for revenue data if the revenue field is not sent. You can use negative values to indicate refunds.
  • quantityinteger
    Default: $.properties.quantity
    The quantity of the item purchased. Defaults to 1 if not specified.
  • revenuenumber
    Default: $.properties.revenue
    Revenue = price quantity. If you send all 3 fields of price, quantity, and revenue, then (price quantity) will be used as the revenue value. You can use negative values to indicate refunds. Note: You will need to explicitly set this if you are using the Amplitude in cloud-mode.
  • productIdstring
    Default: $.properties.productId
    An identifier for the item purchased. You must send a price and quantity or revenue with this field.
  • revenueTypestring
    Default: $.properties.revenueType
    The type of revenue for the item purchased. You must send a price and quantity or revenue with this field.
  • location_latnumber
    Default: $.context.location.latitude
    The current Latitude of the user.
  • location_lngnumber
    Default: $.context.location.longitude
    The current Longitude of the user.
  • ipstring
    Default: $.context.ip
    The IP address of the user. Use "$remote" to use the IP address on the upload request. Amplitude will use the IP address to reverse lookup a user's location (city, country, region, and DMA). Amplitude has the ability to drop the location and IP address from events once it reaches our servers. You can submit a request to Amplitude's platform specialist team here to configure this for you.
  • idfastring
    Default: coalesce($.context.device.advertisingId, $.context.device.idfa)
    Identifier for Advertiser. _(iOS)_
  • idfvstring
    Default: $.context.device.id
    Identifier for Vendor. _(iOS)_
  • adidstring
    Default: coalesce($.context.device.advertisingId, $.context.device.idfa)
    Google Play Services advertising ID. _(Android)_
  • android_idstring
    Android ID (not the advertising ID). _(Android)_
  • event_idinteger
    An incrementing counter to distinguish events with the same user ID and timestamp from each other. Amplitude recommends you send an event ID, increasing over time, especially if you expect events to occur simultanenously.
  • insert_idstring
    Amplitude will deduplicate subsequent events sent with this ID we have already seen before within the past 7 days. Amplitude recommends generating a UUID or using some combination of device ID, user ID, event type, event ID, and time.
  • librarystring
    Default: $.context.library.name
    The name of the library that generated the event.
  • Default: $.properties.products
    The list of products purchased, where each object in the array represents an individual product.
  • use_batch_endpointboolean
    Default: false
    If true, events are sent to Amplitude's batch endpoint rather than their httpapi events endpoint. Enabling this setting may help reduce 429s – or throttling errors – from Amplitude. More information about Amplitude's throttling is available in their docs.
  • userAgentstring
    Default: $.context.userAgent
    The user agent of the device sending the event.
  • userAgentParsingboolean
    Default: true
    Enabling this setting will set the Device manufacturer, Device Model and OS Name properties based on the user agent string provided in the userAgent field
  • UTM Tracking Properties
  • referrerstring
    Default: $.context.page.referrer
    The referrer of the web request. Sent to Amplitude as both last touch “referrer” and first touch “initial_referrer”
  • min_id_lengthinteger
    Amplitude has a default minimum id length of 5 characters for user_id and device_id fields. This field allows the minimum to be overridden to allow shorter id lengths.

Identify User

Default Trigger:type = "identify"

Set the user ID for a particular device ID or update user properties without sending an event to Amplitude.

  • user_idstring
    Default: $.userId
    A unique identifier for a user. If your call references user ID you haven't added to Amplitude yet, then the user tied to that ID will not be marked "new" until their first event. Required unless device ID is present.
  • device_idstring
    Default: coalesce($.context.device.id, $.anonymousId)
    A device identifier, like the Identifier for Vendor (IDFV) on iOS. Required unless the request includes a user_id.
  • user_propertiesobject
    Default: $.traits
    Additional data tied to the user in Amplitude. Each distinct value appears as a user segment in Amplitude. object depth cannot not exceed 40 layers. Date values are transformed to string strings.
  • groupsobject
    Groups of users for the event as an event-level group. You can only track up to 5 groups. Note: This Amplitude feature is only available to Enterprise customers who have purchased the Accounts add-on.
  • app_versionstring
    Default: $.context.app.version
    Version of the app the user is on.
  • platformstring
    Default: $.context.device.type
    The platform of the user's device.
  • os_namestring
    Default: $.context.os.name
    The mobile operating system or browser of the user's device.
  • os_versionstring
    Default: $.context.os.version
    The version of the mobile operating system or browser of the user's device.
  • device_brandstring
    Default: $.context.device.brand
    The brand of user's the device.
  • device_manufacturerstring
    Default: $.context.device.manufacturer
    The manufacturer of the user's device.
  • device_modelstring
    Default: $.context.device.model
    The model of the user's device.
  • carrierstring
    Default: $.context.network.carrier
    The user's mobile carrier.
  • countrystring
    Default: $.context.location.country
    The country in which the user is located.
  • regionstring
    Default: $.context.location.region
    The geographical region in which the user is located.
  • citystring
    Default: $.context.location.city
    The city in which the user is located.
  • dmastring
    The Designated Market Area in which the user is located.
  • languagestring
    Default: $.context.locale
    Language the user has set on their device or browser.
  • payingboolean
    Whether the user is paying or not.
  • start_versionstring
    The version of the app the user was first on.
  • insert_idstring
    Amplitude will deduplicate subsequent events sent with this ID we have already seen before within the past 7 days. Amplitude recommends generating a UUID or using some combination of device ID, user ID, event type, event ID, and time.
  • userAgentstring
    Default: $.context.userAgent
    The user agent of the device sending the event.
  • userAgentParsingboolean
    Default: true
    Enabling this setting will set the Device manufacturer, Device Model and OS Name properties based on the user agent string provided in the userAgent field
  • UTM Tracking Properties
  • referrerstring
    Default: $.context.page.referrer
    The referrer of a web request. Sent to Amplitude as both last touch “referrer” and first touch “initial_referrer”
  • min_id_lengthinteger
    Amplitude has a default minimum id length of 5 characters for user_id and device_id`` fields. This field allows the minimum to be overridden to allow shorter id lengths.
  • librarystring
    Default: $.context.library.name
    The name of the library that generated the event.

Map User

Default Trigger:type = "alias"

Merge two users together that would otherwise have different User IDs tracked in Amplitude.

  • user_idstring
    Default: $.previousId
    The User ID to be associated.
  • global_user_idstring
    Default: $.userId
    The Global User ID to associate with the User ID.
  • min_id_lengthinteger
    Amplitude has a default minimum id length of 5 characters for user_id and device_id fields. This field allows the minimum to be overridden to allow shorter id lengths.

Group Identify User

Default Trigger:type = "group"

Set or update properties of particular groups. Note that these updates will only affect events going forward.

  • user_idstring
    Default: $.userId
    A unique identifier for a user. If your call references user ID you haven't added to Amplitude yet, then the user tied to that ID will not be marked "new" until their first event. Required unless device ID is present.
  • device_idstring
    Default: coalesce($.context.device.id, $.anonymousId)
    A device identifier, like the Identifier for Vendor (IDFV) on iOS. Required unless the request includes a user_id.
  • insert_idstring
    Amplitude will deduplicate subsequent events sent with this ID we have already seen before within the past 7 days. Amplitude recommends generating a UUID or using some combination of device ID, user ID, event type, event ID, and time.
  • timestring
    Default: $.timestamp
    The timestamp of the event. If time is not sent with the event, it will be set to the request upload time.
  • group_propertiesobject
    Default: $.traits
    Additional data tied to the group in Amplitude.
  • group_typestring
    The type of the group
  • group_valuestring
    The value of the group
  • min_id_lengthinteger
    Amplitude has a default minimum id length of 5 characters for user_id and device_id fields. This field allows the minimum to be overridden to allow shorter id lengths.

Log Purchase

Default Trigger:type = "track"

Send an event to Amplitude.

  • user_idstring
    Default: $.userId
    A unique identifier for a user. If your call references user ID you haven't added to Amplitude yet, then the user tied to that ID will not be marked "new" until their first event. Required unless device ID is present.
  • device_idstring
    Default: coalesce($.context.device.id, $.anonymousId)
    A device identifier, like the Identifier for Vendor (IDFV) on iOS. Required unless the request includes a user_id.
  • event_typestring
    Default: $.event
    A unique identifier for your event.
  • session_idstring(datetime)
    Default: $.integrations.Actions Amplitude.session_id
    The start time of the session, necessary if you want to associate events with a particular system. To use automatic Amplitude session tracking in browsers, enable Analytics 2.0 on your connected source.
  • timestring(datetime)
    Default: $.timestamp
    The timestamp of the event. If time is not sent with the event, it will be set to the request upload time.
  • event_propertiesobject
    Default: $.properties
    An object of key-value pairs that represent additional data to be sent along with the event. You can store property values in an array, but note that Amplitude only supports one-dimensional arrays. Date values are transformed into string values. object depth may not exceed 40 layers.
  • user_propertiesobject
    Default: $.traits
    An object of key-value pairs that represent additional data tied to the user. You can store property values in an array, but note that Amplitude only supports one-dimensional arrays. Date values are transformed into string values. object depth may not exceed 40 layers.
  • groupsobject
    Groups of users for the event as an event-level group. You can only track up to 5 groups. Note: This Amplitude feature is only available to Enterprise customers who have purchased the Accounts add-on.
  • app_versionstring
    Default: $.context.app.version
    The current version of your application.
  • platformstring
    Default: $.context.device.type
    Platform of the device.
  • os_namestring
    Default: $.context.os.name
    The name of the mobile operating system or browser that the user is using.
  • os_versionstring
    Default: $.context.os.version
    The version of the mobile operating system or browser the user is using.
  • device_brandstring
    Default: $.context.device.brand
    The device brand that the user is using.
  • device_manufacturerstring
    Default: $.context.device.manufacturer
    The device manufacturer that the user is using.
  • device_modelstring
    Default: $.context.device.model
    The device model that the user is using.
  • carrierstring
    Default: $.context.network.carrier
    The carrier that the user is using.
  • countrystring
    Default: $.context.location.country
    The current country of the user.
  • regionstring
    Default: $.context.location.region
    The current region of the user.
  • citystring
    Default: $.context.location.city
    The current city of the user.
  • dmastring
    The current Designated Market Area of the user.
  • languagestring
    Default: $.context.locale
    The language set by the user.
  • pricenumber
    Default: $.properties.price
    The price of the item purchased. Required for revenue data if the revenue field is not sent. You can use negative values to indicate refunds.
  • quantityinteger
    Default: $.properties.quantity
    The quantity of the item purchased. Defaults to 1 if not specified.
  • revenuenumber
    Default: $.properties.revenue
    Revenue = price quantity. If you send all 3 fields of price, quantity, and revenue, then (price quantity) will be used as the revenue value. You can use negative values to indicate refunds. Note: You will need to explicitly set this if you are using the Amplitude in cloud-mode.
  • productIdstring
    Default: $.properties.productId
    An identifier for the item purchased. You must send a price and quantity or revenue with this field.
  • revenueTypestring
    Default: $.properties.revenueType
    The type of revenue for the item purchased. You must send a price and quantity or revenue with this field.
  • location_latnumber
    Default: $.context.location.latitude
    The current Latitude of the user.
  • location_lngnumber
    Default: $.context.location.longitude
    The current Longitude of the user.
  • ipstring
    Default: $.context.ip
    The IP address of the user. Use "$remote" to use the IP address on the upload request. Amplitude will use the IP address to reverse lookup a user's location (city, country, region, and DMA). Amplitude has the ability to drop the location and IP address from events once it reaches our servers. You can submit a request to Amplitude's platform specialist team here to configure this for you.
  • idfastring
    Default: coalesce($.context.device.advertisingId, $.context.device.idfa)
    Identifier for Advertiser. _(iOS)_
  • idfvstring
    Default: $.context.device.id
    Identifier for Vendor. _(iOS)_
  • adidstring
    Default: coalesce($.context.device.advertisingId, $.context.device.idfa)
    Google Play Services advertising ID. _(Android)_
  • android_idstring
    Android ID (not the advertising ID). _(Android)_
  • event_idinteger
    An incrementing counter to distinguish events with the same user ID and timestamp from each other. Amplitude recommends you send an event ID, increasing over time, especially if you expect events to occur simultanenously.
  • insert_idstring
    Amplitude will deduplicate subsequent events sent with this ID we have already seen before within the past 7 days. Amplitude recommends generating a UUID or using some combination of device ID, user ID, event type, event ID, and time.
  • librarystring
    Default: $.context.library.name
    The name of the library that generated the event.
  • Default: $.properties.products
    The list of products purchased, where each object in the array represents an individual product.
  • trackRevenuePerProductboolean
    Default: false
    When enabled, track revenue with each product within the event. When disabled, track total revenue once for the event.
  • use_batch_endpointboolean
    Default: false
    If true, events are sent to Amplitude's batch endpoint rather than their httpapi events endpoint. Enabling this setting may help reduce 429s – or throttling errors – from Amplitude. More information about Amplitude's throttling is available in their docs.
  • userAgentstring
    Default: $.context.userAgent
    The user agent of the device sending the event.
  • userAgentParsingboolean
    Default: true
    Enabling this setting will set the Device manufacturer, Device Model and OS Name properties based on the user agent string provided in the userAgent field
  • UTM Tracking Properties
  • referrerstring
    Default: $.context.page.referrer
    The referrer of the web request. Sent to Amplitude as both last touch “referrer” and first touch “initial_referrer”
  • min_id_lengthinteger
    Amplitude has a default minimum id length of 5 characters for user_id and device_id fields. This field allows the minimum to be overridden to allow shorter id lengths.

Log Event V2

Default Trigger:type = "track"

Send an event to Amplitude

  • user_idstring
    Default: $.userId
    A unique identifier for a user. If your call references user ID you haven't added to Amplitude yet, then the user tied to that ID will not be marked "new" until their first event. Required unless device ID is present.
  • device_idstring
    Default: coalesce($.context.device.id, $.anonymousId)
    A device identifier, like the Identifier for Vendor (IDFV) on iOS. Required unless the request includes a user_id.
  • event_typestring
    Default: $.event
    A unique identifier for your event.
  • session_idstring(datetime)
    Default: $.integrations.Actions Amplitude.session_id
    The start time of the session, necessary if you want to associate events with a particular system. To use automatic Amplitude session tracking in browsers, enable Analytics 2.0 on your connected source.
  • timestring(datetime)
    Default: $.timestamp
    The timestamp of the event. If time is not sent with the event, it will be set to the request upload time.
  • event_propertiesobject
    Default: $.properties
    An object of key-value pairs that represent additional data to be sent along with the event. You can store property values in an array, but note that Amplitude only supports one-dimensional arrays. Date values are transformed into string values. object depth may not exceed 40 layers.
  • user_propertiesobject
    Default: $.traits
    An object of key-value pairs that represent additional data tied to the user. You can store property values in an array, but note that Amplitude only supports one-dimensional arrays. Date values are transformed into string values. object depth may not exceed 40 layers.
  • groupsobject
    Groups of users for the event as an event-level group. You can only track up to 5 groups. Note: This Amplitude feature is only available to Enterprise customers who have purchased the Accounts add-on.
  • app_versionstring
    Default: $.context.app.version
    The current version of your application.
  • platformstring
    Default: $.context.device.type
    Platform of the device.
  • os_namestring
    Default: $.context.os.name
    The name of the mobile operating system or browser that the user is using.
  • os_versionstring
    Default: $.context.os.version
    The version of the mobile operating system or browser the user is using.
  • device_brandstring
    Default: $.context.device.brand
    The device brand that the user is using.
  • device_manufacturerstring
    Default: $.context.device.manufacturer
    The device manufacturer that the user is using.
  • device_modelstring
    Default: $.context.device.model
    The device model that the user is using.
  • carrierstring
    Default: $.context.network.carrier
    The carrier that the user is using.
  • countrystring
    Default: $.context.location.country
    The current country of the user.
  • regionstring
    Default: $.context.location.region
    The current region of the user.
  • citystring
    Default: $.context.location.city
    The current city of the user.
  • dmastring
    The current Designated Market Area of the user.
  • languagestring
    Default: $.context.locale
    The language set by the user.
  • pricenumber
    Default: $.properties.price
    The price of the item purchased. Required for revenue data if the revenue field is not sent. You can use negative values to indicate refunds.
  • quantityinteger
    Default: $.properties.quantity
    The quantity of the item purchased. Defaults to 1 if not specified.
  • revenuenumber
    Default: $.properties.revenue
    Revenue = price quantity. If you send all 3 fields of price, quantity, and revenue, then (price quantity) will be used as the revenue value. You can use negative values to indicate refunds. Note: You will need to explicitly set this if you are using the Amplitude in cloud-mode.
  • productIdstring
    Default: $.properties.productId
    An identifier for the item purchased. You must send a price and quantity or revenue with this field.
  • revenueTypestring
    Default: $.properties.revenueType
    The type of revenue for the item purchased. You must send a price and quantity or revenue with this field.
  • location_latnumber
    Default: $.context.location.latitude
    The current Latitude of the user.
  • location_lngnumber
    Default: $.context.location.longitude
    The current Longitude of the user.
  • ipstring
    Default: $.context.ip
    The IP address of the user. Use "$remote" to use the IP address on the upload request. Amplitude will use the IP address to reverse lookup a user's location (city, country, region, and DMA). Amplitude has the ability to drop the location and IP address from events once it reaches our servers. You can submit a request to Amplitude's platform specialist team here to configure this for you.
  • idfastring
    Default: coalesce($.context.device.advertisingId, $.context.device.idfa)
    Identifier for Advertiser. _(iOS)_
  • idfvstring
    Default: $.context.device.id
    Identifier for Vendor. _(iOS)_
  • adidstring
    Default: coalesce($.context.device.advertisingId, $.context.device.idfa)
    Google Play Services advertising ID. _(Android)_
  • android_idstring
    Android ID (not the advertising ID). _(Android)_
  • event_idinteger
    An incrementing counter to distinguish events with the same user ID and timestamp from each other. Amplitude recommends you send an event ID, increasing over time, especially if you expect events to occur simultanenously.
  • insert_idstring
    Amplitude will deduplicate subsequent events sent with this ID we have already seen before within the past 7 days. Amplitude recommends generating a UUID or using some combination of device ID, user ID, event type, event ID, and time.
  • librarystring
    Default: $.context.library.name
    The name of the library that generated the event.
  • Default: $.properties.products
    The list of products purchased, where each object in the array represents an individual product.
  • Set these properties once or with every event depending on the key. Relevant to AJS2.
  • Set these properties once or with every event depending on the key. Relevant to AJS2.
  • addobject
    Increment a user property by a number with add. If the user property doesn't have a value set yet, it's initialized to 0.
  • use_batch_endpointboolean
    Default: false
    If true, events are sent to Amplitude's batch endpoint rather than their httpapi events endpoint. Enabling this setting may help reduce 429s – or throttling errors – from Amplitude. More information about Amplitude's throttling is available in their docs.
  • userAgentstring
    Default: $.context.userAgent
    The user agent of the device sending the event.
  • userAgentParsingboolean
    Default: true
    Enabling this setting will set the Device manufacturer, Device Model and OS Name properties based on the user agent string provided in the userAgent field.
  • min_id_lengthinteger
    Amplitude has a default minimum id length of 5 characters for user_id and device_id fields. This field allows the minimum to be overridden to allow shorter id lengths.