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

Billing Info #1

Open
askkaz opened this issue Feb 8, 2017 · 2 comments
Open

Billing Info #1

askkaz opened this issue Feb 8, 2017 · 2 comments

Comments

@askkaz
Copy link

askkaz commented Feb 8, 2017

Great to see someone building a full featured library for in-channel/cross device Roku analytics.

Few comments:
(1) Roku doesn't support a number of the actions in the SDK (coupons, shipping, etc), but I'm guessing you included them here for completeness
(2) As a channel developer, some of the more important things to track are where customers are coming from. By reading the "Deep Links" from in-device ads, search, etc, you could report back on which ad channel(s) and ad creative(s) a user came from
(3) Additional subscription transactions within the Roku ecosystem are tracked through webhooks - do you support collecting this data and matching it up with the in-channel user ids? This would be great for tracking user LTV and again, determining which ad channels/creative result in the highest LTV customers
(4) How do you handle the different currencies within Roku?

@samdozor
Copy link
Member

samdozor commented Feb 8, 2017

hey @askkaz thanks! Really appreciate your feedback here. Responding to your comments:

  1. Yep we chose to surface the full mParticle eCommerce API here - if you look at our Python, Node, iOS, and Android SDKs you'll see pretty similar models in one form or another. This API lets us map specific product actions/impressions/promotions directly onto the Google Analytics Enhanced eCommerce API as well as pretty much any other API that surfaces the notion of eCommerce behavior. So, even though things like shipping etc may not be supported now, easier for us to just surface it in the API and if Roku introduces support for it, or if a customer wants to map slightly different semantic meaning onto those value, it's there to use.

  2. We actually do collect this. The associative array that is passed to initialize mParticle on channel-start can contain an entry for the arguments passed on startup:

    from the README:

    options = {}
    options.apiKey = "REPLACE WITH API KEY"
    options.apiSecret =  "REPLACE WITH API SECRET"
    'for deeplinking analytics, pass in your startup args
    options.startupArgs = args
    

    mParticle's API schema contains a number of "message" types, such as session start, session end, and "state transition" events. The SDK will include these startup arguments if present within these messages, and then the mParticle platform will process them and surface them to our integration partners and data-warehouse integrations.

    We should be surfacing this more prominently in the docs - I'll take that as a TODO!

  3. This is a great suggestion. mParticle performs a similar flow with many of our attribution partners via our Feeds functionality. Can you point me towards the docs that you're referring to here?

  4. We will get this API added ASAP - currently you need to specify the currency code manually by adding a cu entry to the given Commerce Event.

@askkaz
Copy link
Author

askkaz commented Feb 8, 2017

(3) - docs are here (at the bottom): https://github.com/rokudev/docs/blob/062c73061e7ab6eb3e752a24c8dcae537dc59e53/develop/guides/roku-web-services.md

There are some gotchas - for example, if your API is behind a service like cloudflare, Roku will not respect the "acceptance" of webhook events due to the unexpected cookies.

mparticle could be set up to be the primary processor of the webhooks or maybe channels could forward on the same payload to mparticle for processing if they are already using them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants