Apple Raw Data - GetLinkfire/raw-data-documentation GitHub Wiki

Apple Streaming Raw Data

In order to protect user privacy, Linkfire does not receive event-by-event data for Apple Music, and only events that an be grouped together in more than 10 are made visible. As report format for this data differs from the traffic raw data we need to send it separately. More details on our general documentation of Apple Music data in linkfire, e.g. our help center article.

Daily, Weekly, and Monthly Reports

When 10 or more Apple Music users have taken the same action (e.g. streamed one of your releases) within a reporting period (daily, weekly, and/or monthly), it will be reported.

The delivery details are as follows:

Daily: At the end of every day(day x): we deliver daily report for the day x-1, x-2, x-3, x-4
Weekly: At the end of every Friday(day x), Saturday(day x+1), Sunday(day x+2), Monday(day x+3): we deliver weekly report for period (x-7 to x)
Monthly: At the end of every 1st, 2nd, 3rd, and 4th of the month, we deliver a monthly report that covers the previous month.

We deliver data for the same date and period multiple times, and each one is a cumulative update over the previous file.

Dimensions and Groups

To allow insights as detailed as possible with above restrictions, Apple and Linkfire make use of non-disjoint sets describing the data, meaning any event can be counted multiple times.

Example: a country-wide number is given although we already have numbers for cities, because some cities' visitors might be less than 10 and not appear on city-detail level, but are still counted on country level.

Technically speaking, Linkfire receives Apple Music data as result of a grouping sets operation. This implies that

For each row the date and the GroupedBy field together describe which dimensions were grouped an counted by. GroupedBy lists combinations of the fields

  • LinkId
  • ChannelId
  • ActivityId
  • ProductId
  • Country
  • City
  • FlagIntended

Other dimensions are not listed in this field, because their values are derived from the listed ones.

This implies that a regular group_by and sum operation on the whole table will not give sensible results. Instead, if you want to group by X,Y,Z, you'd need to filter for all rows WHERE GroupedBy = "X,Y,Z". The result will then be a regular table with disjoint rows, that you can do further groupings on, e.g. by date.

Example: To find the total number of plays per link, you must first filter "GroupingLabel" = "by_Link_total" and "Period" = "Daily".

Dimensions that are rolled up, i.e. not part of the grouping, have the value __ALL_ITEMS__.

Metrics

The metrics are Adds, Plays and LFEntries, measuring how many events took place that share the same values for the dimensions.

Beware:

  • Other than linkfire raw data, each row describes a larger set of events that share the same dimensional values
  • The metrics for grouping sets that have a hierarchical ordering do rarely add up.

Example: the number of plays for a country (GroupedBy includes Country and not City) is usually higher than the sum of plays for all Cities (Groupedby includes both).

Fields

Data Description Example
ActivityId Activity ID (string) added by the marketer to the link. Max 50 characters. eveningpromotion, giveaway
BoardId UUID of the board the visited link is in. a1c50793-2c2a-4809-ae23-3204a4584cad
ChannelId UUID of the marketing channel used by the marketer. d8b8bb4f-4c47-11e6-9fd0-066c3e7a8751
ChannelName The name of the marketing channel used by the marketer when promoting the link. Instagram, YouTube Description, F
ChannelType The category of the marketing channel used by the marketer when promoting the link. Owned, Paid, Original
City Name of visitor's city as decoded from IP using Maxmind GeoIP. Copenhagen
ConvAction Action performed. Play
Country Two letter code of visitor's country as decoded from IP using Maxmind GeoIP. DK
CountryCity Country:City "DK:Copenhagen"
StartOfPeriod The UTC start period date "2020-12-24"
FlagIntended Indicating if a direct or indirect product was played True
Period Total period that the row covers "Daily"
LFEntries [metric] Number of entries from linkfire registered by AM
LinkId UUID of the visited link. 13591d85-bd99-469a-812d-4088d6320a91
Plays [metric] count of plays in AM 758
Adds [metric] count of add to library in AM 50
ProductId AM Product Id of the item played
ProductArtist Name of the Artist of the item played in AM "Elvis Presley"
ProductName Name of the Product played in AM
ProductType Type of the Product played in AM
BoardName Title of the board My Board
LinkUrl The URL of the link. artist.lnk.to/album
LinkIsrc ISRCs of the item played [A bug. To be changed to: ISRC of the link content] ['USBSR0930647']
LinkScanningSource Depending on linkscanningtype, a URL,ISRC,UPC or bandsintown reference https://open.spotify.com/track/
LinkScanningType The type of source used when creating the link. URL
OrganisationId ID of the organisation which the board and link belongs to. cf5d408c-633d-416a-9df7-3af93b5dc1f5
GroupedBy list of original dimension that was grouped by "Linkid, Intended, Channelid, Productid"
GroupingLabel Short name for "GroupedBy" "by_Link",ยท