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] | [' |
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",ยท |