This preview of pull request 1639 is meant for internal use only.

Singular Destination

Singular quick info

Singular is in beta, and accepts Track, Page, Identify, Group, and Alias calls. If you reference it in the Integrations object, call it “Singular”.

Singular accepts data in cloud-mode from all source types, and can accept data in device-mode from mobile sources.

Singular is a Marketing Intelligence Platform that transforms marketing data into accurate, granular and actionable insights to drive growth. By unifying marketing campaign data with attribution data, marketers can measure ROI from every touchpoint across multiple channels for a single source of truth.

The destination is available to receive data using Cloud Mode from all platforms and to integrate using Device Mode on Mobile.

This destination is maintained by Singular. For any issues with the destination, contact Singular Support.

Getting Started

Before you start, make sure Singular supports the source type and connection mode you’ve chosen to implement. You can learn more about connection modes here.

Web Mobile Server
📱 Device-mode ⬜️ ⬜️
☁️ Cloud-mode
  1. From the Segment web app, click Catalog.
  2. Search for “Singular” in the Catalog, select it, and choose which of your sources to connect the destination to.
  3. Add your Singular “API KEY”, found in your Singular Dashboard under ‘Settings’ > ‘SDK Keys’, to the Segment Settings UI.

What’s supported

  1. Install Attribution
  2. Apple Search Ads Attribution
  3. Custom Event Tracking
  4. Revenue tracking
  5. Custom User ID

Install Attribution

Enable automatic tracking of lifecycle events (Application Opened, Application Installed, Application Updated) using initialization config parameters (iOS, Android) to track installs and sessions in Singular. The Singular “session” will be sent automatically by the integration as long as you are including the events above.

Apple Search Ads Attribution

Note

If you are using the Device-Based Destination, there’s no need to implement the code below, as the data is already collected automatically.

To get iAD attribution data into Singular, you must include the analytics-ios-iads-attribution dependency and version 3.6.0 or higher of the Analytics SDK.

To install it, simply add the following line to your Podfile: pod "Analytics" pod "Analytics-iAds-Attribution"

Then import the header and initialize the configuration:

#import <Analytics-iAds-Attribution/SEGADTracker.h>

// Initialize the configuration as you would normally.
SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
...

// Configure the client with the iAD middleware to attach iAd properties.
configuration.middlewares = @[ [SEGADTracker middleware] ];

[SEGAnalytics setupWithConfiguration:configuration];

When iAd information is available, the attribution information is transformed to Segment context this way:

[analytics track:@"Application Installed",
    properties: nil,
    options: @{
      @"context" : @{
        @"campaign" : @{
          @"provider" : @"Apple",
          @"click_date" : attributionInfo[@"iad-click-date"],
          @"conversion_date" : attributionInfo[@"iad-conversion-date"],
          @"source" : @"iAd",
          @"name" : attributionInfo[@"iad-campaign-name"],
          @"content" : attributionInfo[@"iad-keyword"],
          @"ad_creative" : attributionInfo[@"iad-org-name"],
          @"ad_group" : attributionInfo[@"iad-adgroup-name"],
          @"id" : attributionInfo[@"iad-campaign-id"],
          @"ad_group_id" : attributionInfo[@"iad-adgroup-id"]
        }
      }
    }];

Singular has explicitly mapped the Application Installed lifecycle event to provide the iAd Information.

Tracking Custom Events

If you’re not familiar with the Segment Specs, take a look to understand what the Track method does. An example call (in Android) would look like:

Analytics.with(context).track("Signup")
Analytics.with(context).track("Level9Passed")

Those calls will be sent to Singular and processed as custom post-install events and will be available in reporting & user-level exports.

Revenue Tracking

Singular will receive revenue tracking when an event containing the revenue property is sent (including zero value). You can optionally pass the currency (as an iso3 code). The default currency is USD.

For example in Android you would do:

Analytics.with(context).track("Order Completed", new Properties().putRevenue(1.99));

Custom User ID

For the cloud-mode destination, Singular has mapped the Custom User ID to the Segment User ID value. Follow the steps here to configure for: iOS, Android.

For the device-based destination, Singular’s SDK uses the ​identify​ method to map Segment’s ​User ID​ value to the Custom User ID.

Android example:

Analytics.with(context).identify("myUserId");

In order to unset the Custom User ID, call the ​reset​ method.

Android example:

Analytics.with(context).reset();

Personas

You can send computed traits and audiences generated using Segment Personas to this destination as a user property. To learn more about Personas, contact us for a demo.

For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Personas sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it’s been more than 30 days since their last order), Personas sets that value to false.

When you first create an audience, Personas sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

API Key

You can find your API Key under Settings -> SDK Keys

Secret

Required for device-mode integrations with our iOS and Android SDKs.

This page was last modified: 20 Oct 2020



Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
or
Create free account