Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

comScore analytics open questions #25

Closed
4 tasks done
defagos opened this issue Apr 6, 2023 · 3 comments
Closed
4 tasks done

comScore analytics open questions #25

defagos opened this issue Apr 6, 2023 · 3 comments
Assignees
Labels
question Further information is requested
Milestone

Comments

@defagos
Copy link
Member

defagos commented Apr 6, 2023

As a Pillarbox developer I need to have some comScore-related questions answered so that I can provide a compliant implementation.

Acceptance criteria

  • The questions listed below have been answered.
  • Corresponding issues have been created for any necessary implementation work.

Tasks

  • Get an answer for the questions below.
  • Create issues if needed on Apple Pillarbox repository.
  • Create issues if needed on Android Pillarbox repository.
  • Get Mediapulse page view specification documentation from the GD.

General questions

  1. ✅ 🍎 What are the exact consequences if AdSupport.framework is not linked? How is privacy affected if we link against it?
  2. ✅ 🍎 Can you confirm that no events are sent if the device is offline? Is there a way to disable this behavior for test purposes?

Page view questions

  1. ✅ Do we still need special character formatting? The web portal does not apply these formatting rules anymore. Most precisely, if the answer is (at least partially) yes:
    • Should we use lowercase only?
    • Is special character replacement required?
    • Are requirements described in comScore integration guide, section 2.4, sufficient, and actually what we need to implement? (i.e. use ns_category and provide just a name, not a full path built client-side)
  2. ✅ Do we need to be able to send arbitrary labels in page view events? Or should we restrict to only those mentioned in specifications we have?
  3. ✅ Can / should we count again a view when it is again revealed by returning from a view pushed after it?
  4. ✅ How should screens arranged in a split view be measured? Are two page views acceptable or should we ensure only the parent screen is measured?
  5. ✅ What about page views in background for a CarPlay / Android Auto experience?
  6. ✅ Is it ok if we simply provide the page title in c8?

Streaming questions

  1. ✅ Is it correct that this buffer / seek start / stop events are important to ensure that the comScore state machine has correct behaviors (e.g. no heartbeats when the player is stuck buffering)? Official documentation never mentions it.
  2. ✅ When should a user experience be reported? What does user experience exactly mean? What are the recommendations? (e.g. should a UX be reported if playback has been paused but can be resumed?). Are calls to notifyUxActive and notifyUxInactive reference counted?
  3. ✅ Should we still use a threshold for the DVR timeshift value we send, below which the value is rounded to 0? If yes to what purpose? Does it make internal calculations better or worse somehow?
  4. ✅ How is the DVR live edge offset ns_st_ldo taken into account in measurements? Is there a problem if DVR playback starts at the live edge with a non-zero value?
  5. ✅ 🍎 Can you confirm that no events are sent if a play is followed by an end less than ~5 afterwards? Is there a way to reduce this value for test purposes?
  6. ✅ What should we do for video in background? Can we still measure it? It is namely difficult to detect whether the video is playing in the foreground with an attached view or not, so could we just track video in general without any problems?

Resources

Some resources might be outdated:

@defagos defagos added this to Pillarbox Apr 6, 2023
@defagos defagos converted this from a draft issue Apr 6, 2023
@defagos defagos changed the title Analytics open questions comScore analytics open questions Apr 6, 2023
@defagos defagos added the question Further information is requested label Apr 6, 2023
@defagos defagos added this to the Analytics milestone Apr 6, 2023
@defagos defagos moved this from ✏️ Draft to 📋 Backlog in Pillarbox Apr 6, 2023
@defagos defagos moved this from 📋 Backlog to 🚧 In Progress in Pillarbox Apr 6, 2023
@defagos defagos changed the title comScore analytics open questions 📌 comScore analytics open questions Apr 6, 2023
@defagos defagos pinned this issue Apr 6, 2023
@defagos
Copy link
Member Author

defagos commented Jun 15, 2023

General questions

Question 1

🍎 What are the exact consequences if AdSupport.framework is not linked? How is privacy affected if we link against it?

comScore collects the IDFA, otherwise only the IDFV. The IDFA is not used to track the user between different vendors.

Question 2

🍎 Can you confirm that no events are sent if the device is offline? Is there a way to disable this behavior for test purposes?

Not possible at the moment. The SDK will buffer the events that could not be sent.

Page view questions

Question 1

Do we still need special character formatting? The web portal does not apply these formatting rules anymore. Most precisely, if the answer is (at least partially) yes:
- Should we use lowercase only?
- Is special character replacement required?
- Are requirements described in comScore integration guide, section 2.4, sufficient, and actually what we need to implement? (i.e. use ns_category and provide just a name, not a full path built client-side)

There are implementation guides that we will receive (guide and intake form). The GD should have this documentation. No special handling or encoding should be required for special characters, the SDK takes care of that.

Question 2

Do we need to be able to send arbitrary labels in page view events? Or should we restrict to only those mentioned in specifications we have?

The expected labels are provided in the specification, other labels would be ignored anyway, so no arbitrary labels needed anymore.

Question 3

Can / should we count again a view when it is again revealed by returning from a view pushed after it?

For apps what Mediapulse measures is foreground time. This means not every page view is actually needed to get correct measurements for Mediapulse. A single page view at the beginning would suffice but Mediapulse observed that data is more accurate if we record each and every page view following user interaction. So more is better.

Question 4

How should screens arranged in a split view be measured? Are two page views acceptable or should we ensure only the parent screen is measured?

In a single app a split screen should not be a problem since it should not affect the foreground time. So measuring two page views is not an issue.

Question 5

What about page views in background for a CarPlay / Android Auto experience?

From a regulatory perspective we are allowed to measure the app when in foreground. It would in fact be better to not track a car UX from a comScore perspective.

Question 6

Is it ok if we simply provide the page title in c8?

c8 is fine.

Streaming questions

Question 1

Is it correct that this buffer / seek start / stop events are important to ensure that the comScore state machine has correct behaviors (e.g. no heartbeats when the player is stuck buffering)? Official documentation never mentions it.

Yes, but also for heartbeats. There are effects in internal state, time measurements.

Question 2

When should a user experience be reported? What does user experience exactly mean? What are the recommendations? (e.g. should a UX be reported if playback has been paused but can be resumed?). Are calls to notifyUxActive and notifyUxInactive reference counted?

We should not use these methods in Mediapulse context. Useful only for app background usage which Mediapulse is not interested in.

Question 3

Should we still use a threshold for the DVR timeshift value we send, below which the value is rounded to 0? If yes to what purpose? Does it make internal calculations better or worse somehow?

If we are able to provide accurate positions near the live edge then yes, no rounding is needed.

Question 4

How is the DVR live edge offset ns_st_ldo taken into account in measurements? Is there a problem if DVR playback starts at the live edge with a non-zero value?

Kantar is doing timestamp matching based on the live offset to find which content was played.

Question 5

🍎 Can you confirm that no events are sent if a play is followed by an end less than ~5 afterwards? Is there a way to reduce this value for test purposes?

Probably within the 5 seconds after SDK initialization, not after play.

Question 6

What should we do for video in background? Can we still measure it? It is namely difficult to detect whether the video is playing in the foreground with an attached view or not, so could we just track video in general without any problems?

See remark below: A video should not be tracked if < 50% visible. Depending on the platform we can partially implement this behavior but it is likely we cannot cover all cases (e.g. PiP), see SRGSSR/pillarbox-apple#447.

Additional remarks

  • For the validation there are two steps involved, one for the streaming and one for each app.
  • A stream should be measured if it is >50% visible so background video playback should not be tracked.

@defagos
Copy link
Member Author

defagos commented Jul 18, 2023

We received access to a documentation SharePoint with several documents about Mediapulse integration.

@defagos
Copy link
Member Author

defagos commented Jul 18, 2023

All questions answered and dedicated tasks created. Done.

@defagos defagos closed this as completed Jul 18, 2023
@github-project-automation github-project-automation bot moved this from 🚧 In Progress to ✅ Done in Pillarbox Jul 18, 2023
@defagos defagos unpinned this issue Jul 25, 2023
@defagos defagos changed the title 📌 comScore analytics open questions comScore analytics open questions Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
Archived in project
Development

No branches or pull requests

3 participants