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

Release AnonymousPiwikUsageMeasurement plugin on the Marketplace #9051

Closed
mattab opened this Issue Oct 19, 2015 · 12 comments

Comments

Projects
None yet
2 participants
@mattab
Member

mattab commented Oct 19, 2015

Steps:

  • Review plugin's README
  • Confirm https://demo-anonymous.piwik.org is working well
  • Make https://demo-anonymous.piwik.org publicly available
  • Publish plugin on Marketplace
  • Create a new FAQ How do I track and measure how my Piwik service is being used?
  • Write a little blog post to advertise the plugin and invite people to install it
  • Publish FAQ & blog post once all steps are done

follows up #4589

@tsteur

This comment has been minimized.

Show comment
Hide comment
@tsteur

tsteur Oct 19, 2015

Member

I'm not sure if it is an issue with demo-anonymous or Piwik itself or just a configuration... I'm logged in in one browser tab, and have an incognito tab open where I am not logged in. It always uses the same visitor. So when I'm doing something in incognito custom variable role = anonymous, when doing something in other tab role = superuser. Both send a different visitor id though (url parameter _id). Tried to understand the new code but failed. I'm investigating...

Member

tsteur commented Oct 19, 2015

I'm not sure if it is an issue with demo-anonymous or Piwik itself or just a configuration... I'm logged in in one browser tab, and have an incognito tab open where I am not logged in. It always uses the same visitor. So when I'm doing something in incognito custom variable role = anonymous, when doing something in other tab role = superuser. Both send a different visitor id though (url parameter _id). Tried to understand the new code but failed. I'm investigating...

@tsteur

This comment has been minimized.

Show comment
Hide comment
@tsteur

tsteur Oct 19, 2015

Member

Here's a debug tracker output

DEBUG: Matching visitors with: visitorId=396a013f678107c8 OR configId=f6547780a6acb063
DEBUG: The visitor is known (idvisitor = ec0e172c2684ea7a,
DEBUG:                     config_id = f6547780a6acb063,
DEBUG:                     idvisit = 30,
DEBUG:                     last action = Mon, 19 Oct 2015 10:51:32 +0000,
DEBUG:                     first action = Mon, 19 Oct 2015 10:36:05 +0000,
DEBUG:                     visit_goal_buyer' = 0)

@mattab @diosmosis this might be actually a bug. I guess $matchOneFieldOnly is used and here https://github.com/piwik/piwik/blob/2.15.0-rc3/core/Tracker/Model.php#L339-L342 it doesn't find a matching visitor but does find a matching user because of the same config id. So it uses my other visitor but it is not the same visitor. Should we maybe add a config to force match both visitor and config? Trust cookies wouldn't help as it would still do $shouldLookupOneVisitorFieldOnly = true and it would still fallback to config id I think.

I reckon many users can run into this issue especially when IP Anonymization is enabled, especially since raw IP address is not considered in config id see #7778 . It could be likely that two visitors using the same default installation generate the same config id. Also within a company where often same hardware / software is used for hundreds or thousands of employees it is likely that the same config id is generated.

I might be wrong here as I might not have considered everything. I can imagine especially for Piwik users in Germany where IP Anonymization is enabled this can lead to wrong results.

Member

tsteur commented Oct 19, 2015

Here's a debug tracker output

DEBUG: Matching visitors with: visitorId=396a013f678107c8 OR configId=f6547780a6acb063
DEBUG: The visitor is known (idvisitor = ec0e172c2684ea7a,
DEBUG:                     config_id = f6547780a6acb063,
DEBUG:                     idvisit = 30,
DEBUG:                     last action = Mon, 19 Oct 2015 10:51:32 +0000,
DEBUG:                     first action = Mon, 19 Oct 2015 10:36:05 +0000,
DEBUG:                     visit_goal_buyer' = 0)

@mattab @diosmosis this might be actually a bug. I guess $matchOneFieldOnly is used and here https://github.com/piwik/piwik/blob/2.15.0-rc3/core/Tracker/Model.php#L339-L342 it doesn't find a matching visitor but does find a matching user because of the same config id. So it uses my other visitor but it is not the same visitor. Should we maybe add a config to force match both visitor and config? Trust cookies wouldn't help as it would still do $shouldLookupOneVisitorFieldOnly = true and it would still fallback to config id I think.

I reckon many users can run into this issue especially when IP Anonymization is enabled, especially since raw IP address is not considered in config id see #7778 . It could be likely that two visitors using the same default installation generate the same config id. Also within a company where often same hardware / software is used for hundreds or thousands of employees it is likely that the same config id is generated.

I might be wrong here as I might not have considered everything. I can imagine especially for Piwik users in Germany where IP Anonymization is enabled this can lead to wrong results.

@tsteur

This comment has been minimized.

Show comment
Hide comment
@tsteur

tsteur Oct 19, 2015

Member

I've prepared a blog post, feel free to tweak and publish once all the steps are done

Member

tsteur commented Oct 19, 2015

I've prepared a blog post, feel free to tweak and publish once all the steps are done

@tsteur

This comment has been minimized.

Show comment
Hide comment
@tsteur

tsteur Oct 19, 2015

Member

Little FAQ entry... BTW: Since when do we call it "Piwik service"?

How do I track and measure how my Piwik service is being used?

The plugin AnonymousPiwikUsageMeasurement allows you to track usage data of the Piwik service into up to three Piwik installations:

  • demo-anonymous.piwik.org (enabled by default, can be disabled).
  • your own Piwik (can be configured optionally)
  • a custom Piwik (can be configured optionally)

The opt-in and anonymised usage tracking information that is sent to the creators of Piwik will be used to build a better product and a great user experience.

The plugin can be installed via the Piwik Marketplace with just a few clicks within your Piwik installation. As a Super User simply go to the Administration and select Marketplace in the left menu. There you will find the plugin and can install it with just one click.

Member

tsteur commented Oct 19, 2015

Little FAQ entry... BTW: Since when do we call it "Piwik service"?

How do I track and measure how my Piwik service is being used?

The plugin AnonymousPiwikUsageMeasurement allows you to track usage data of the Piwik service into up to three Piwik installations:

  • demo-anonymous.piwik.org (enabled by default, can be disabled).
  • your own Piwik (can be configured optionally)
  • a custom Piwik (can be configured optionally)

The opt-in and anonymised usage tracking information that is sent to the creators of Piwik will be used to build a better product and a great user experience.

The plugin can be installed via the Piwik Marketplace with just a few clicks within your Piwik installation. As a Super User simply go to the Administration and select Marketplace in the left menu. There you will find the plugin and can install it with just one click.

@mattab

This comment has been minimized.

Show comment
Hide comment
@mattab

mattab Oct 20, 2015

Member

@tsteur check out this issue I found on the demo when installing the plugin: matomo-org/plugin-AnonymousPiwikUsageMeasurement#12

And this one: matomo-org/plugin-AnonymousPiwikUsageMeasurement#13

Member

mattab commented Oct 20, 2015

@tsteur check out this issue I found on the demo when installing the plugin: matomo-org/plugin-AnonymousPiwikUsageMeasurement#12

And this one: matomo-org/plugin-AnonymousPiwikUsageMeasurement#13

@mattab

This comment has been minimized.

Show comment
Hide comment
@mattab

mattab Oct 20, 2015

Member

Since when do we call it "Piwik service"?

Not sure, it's sometimes Piwik server, Piwik infrastructure, Piwik service, Piwik instance, Piwik platform... maybe we should use a consistent name, or maybe not

I've prepared a blog post, feel free to tweak and publish once all the steps are done

Great, will publish FAQ + blog post once the couple bugs are fixed and we can use it on demo.piwik.org

Member

mattab commented Oct 20, 2015

Since when do we call it "Piwik service"?

Not sure, it's sometimes Piwik server, Piwik infrastructure, Piwik service, Piwik instance, Piwik platform... maybe we should use a consistent name, or maybe not

I've prepared a blog post, feel free to tweak and publish once all the steps are done

Great, will publish FAQ + blog post once the couple bugs are fixed and we can use it on demo.piwik.org

@mattab

This comment has been minimized.

Show comment
Hide comment
@mattab

mattab Oct 20, 2015

Member

I reckon many users can run into this issue especially when IP Anonymization is enabled, especially since raw IP address is not considered in config id see #7778

Here is an idea to solve this problem and even increase accuracy:

  • we know a given username who is logged in Piwik
  • we could use this username to create an anonymised ID and use it as User ID. We could use a hash function to anonimise the User ID.
  • by setting the User ID as the Piwik username, we ensure that the sessions & users are tracked correctly

what do you think?

Member

mattab commented Oct 20, 2015

I reckon many users can run into this issue especially when IP Anonymization is enabled, especially since raw IP address is not considered in config id see #7778

Here is an idea to solve this problem and even increase accuracy:

  • we know a given username who is logged in Piwik
  • we could use this username to create an anonymised ID and use it as User ID. We could use a hash function to anonimise the User ID.
  • by setting the User ID as the Piwik username, we ensure that the sessions & users are tracked correctly

what do you think?

@tsteur

This comment has been minimized.

Show comment
Hide comment
@tsteur

tsteur Oct 20, 2015

Member

I think it would be nice to fix this in Piwik itself since it is not really Piwik tracking related. I thought about using user id but there would be still problems with anonymous users and didn't want to send a userid to a public system even when it's "hashed"

Member

tsteur commented Oct 20, 2015

I think it would be nice to fix this in Piwik itself since it is not really Piwik tracking related. I thought about using user id but there would be still problems with anonymous users and didn't want to send a userid to a public system even when it's "hashed"

@tsteur

This comment has been minimized.

Show comment
Hide comment
@tsteur

tsteur Oct 20, 2015

Member

With "many users can run into this issue" I mean all Piwik users, not only Piwik Tracking Plugin users

Member

tsteur commented Oct 20, 2015

With "many users can run into this issue" I mean all Piwik users, not only Piwik Tracking Plugin users

@mattab

This comment has been minimized.

Show comment
Hide comment
@mattab

mattab Oct 20, 2015

Member

good find. re-opened: #7778 (comment)

Member

mattab commented Oct 20, 2015

good find. re-opened: #7778 (comment)

@tsteur

This comment has been minimized.

Show comment
Hide comment
@tsteur

tsteur Oct 20, 2015

Member

I removed checkbox "Use Piwik 3.0 on demo-anonymous" as Piwik 3.0 will become master soon anyway. Instead I created an issue to have it compatible with 3.0 which I am working on matomo-org/plugin-AnonymousPiwikUsageMeasurement#14

Member

tsteur commented Oct 20, 2015

I removed checkbox "Use Piwik 3.0 on demo-anonymous" as Piwik 3.0 will become master soon anyway. Instead I created an issue to have it compatible with 3.0 which I am working on matomo-org/plugin-AnonymousPiwikUsageMeasurement#14

@mattab mattab closed this Oct 22, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment