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

Ask users to refer us to other friends #16803

Closed
tsteur opened this issue Nov 26, 2020 · 5 comments · Fixed by #17234
Closed

Ask users to refer us to other friends #16803

tsteur opened this issue Nov 26, 2020 · 5 comments · Fixed by #17234
Assignees
Labels
Task Indicates an issue is neither a feature nor a bug and it's purely a "technical" change.
Milestone

Comments

@tsteur
Copy link
Member

tsteur commented Nov 26, 2020

Not sure into which plugin to put this best. However, it needs to be disabled by WhiteLabel (eg through some event).

We'd basically show a block in the bottom similar to on our demo.matomo.cloud (might need to go incognito to see it)

image
(be great to give the social icons some white background or something so they stand out)
"Refer Matomo" is basically a "mailto" link that add's following subject:

subject:

Why I no longer use Google Analytics

message body:

Did you know Google uses data for “own purposes”? That means Google owns your data and is using it to monetise their advertising platforms.

This is why I don’t use Google Analytics for analysing the performance of my website. 

Instead I choose Matomo, an ethical alternative to Google Analytics that gives me 100% data ownership and protects the data of my website visitors. 

I’m sharing this message in the hope that you too will take back the power from Google and get complete ownership of your own data.

[Check out Matomo](https://matomo.org/google-owns-your-data?pk_campaign=refer&pk_kwd=onpremise)

The user can then customise the email in their email program and enter email addresses etc.

For social sharing we would use this text if possible:

Did you know Google is using your data for “own purposes”? This means Google owns your data and uses it to monetise their advertising platforms.

If you’re using Google Analytics, stay in control by switching to an ethical alternative like Matomo now! 

https://matomo.org/google-owns-your-data?pk_campaign=share&pk_kwd=onpremise

can we have buttons for twitter, facebook, linkedin and mastodon? We would not actually load their JS etc but use the share links like https://www.facebook.com/sharer.php and https://twitter.com/intent/tweet and https://www.linkedin.com/shareArticle/ . Not sure it's possible for mastodon?

After clicking on any of the links and the desired action was initiated could we maybe show a thank you modal dialog saying like Thank you for spreading the word and creating a safer web?

  • When someone clicks on the X icon on the right then we don't show it for another 6 months.
  • Let's maybe in the beginning also only show it to super users (end users are often not that passionate about this topic)
  • Once someone clicked on "refer matomo" or on the social media links we don't show it again for now
@tsteur tsteur added the Task Indicates an issue is neither a feature nor a bug and it's purely a "technical" change. label Nov 26, 2020
@tsteur tsteur added this to the 4.1.0 milestone Nov 26, 2020
@mattab mattab modified the milestones: 4.1.0, 4.2.0 Dec 21, 2020
@flamisz
Copy link
Contributor

flamisz commented Feb 18, 2021

@tsteur I have a question about this. I have a solution where I store the events (when it was closed, it was shared or not, etc) in the browser's localstorage. For sure it's not the perfect solution, if a user changing browsers or using incognito mode it won't work.

Do you have any other recommendation? Like storing for the user in db?

Thanks

@tsteur
Copy link
Member Author

tsteur commented Feb 18, 2021

Hi @flamisz

be great to store this in the backend instead of in the browser so it won't appear every time they go incognito etc.

I was going to suggest we use the UsersManager.setUserPreference API see https://github.com/matomo-org/matomo/blob/4.1.0/plugins/UsersManager/API.php#L194 but it's not really a preference so better not to use it.

There is a plugin_settings table which can store plugin related settings for each user (see example usage here https://github.com/matomo-org/matomo/blob/4.1.0/plugins/CorePluginsAdmin/Model/TagManagerTeaser.php#L44-L58 where it was used for a similar feature) but it's kind of the same thing... it's not really a setting and this backend was basically built for this feature https://developer.matomo.org/guides/plugin-settings and we'd probably end up using the API not quite in the intended way.

I would actually for now simply store it in the option table similar to https://github.com/matomo-org/matomo/blob/4.1.0/plugins/Feedback/Feedback.php#L80-L93 and https://github.com/matomo-org/matomo/blob/4.1.0/plugins/Feedback/Controller.php#L37-L47

Compared to this example where it also uses the Option class it be great though to put the logic for setting and getting this value into a separate class like Piwik\Plugins\Feedback\ReviewReminder. When developing the linked FeedbackReminder logic above should have also put it in a separate class.

Does this help? I think that feedback reminder is quite a similar logic where we'd also need a controller method to update the value etc. It might help to check how the logic for that updateFeedbackReminderDate controller method works. Let me know if some information is missing

@tsteur
Copy link
Member Author

tsteur commented Feb 18, 2021

@flamisz fyi just created this new doc https://github.com/matomo-org/developer-documentation/blob/d70f5907d5f59f7bfc0744a002094af0cad7d5cb/docs/4.x/user-in-depth.md as part of https://github.com/matomo-org/developer-documentation/pull/427/files where I'm trying to summarise some thoughts on this. Once merged, it will be available under https://developer.matomo.org/guides/user-in-depth

@flamisz
Copy link
Contributor

flamisz commented Feb 18, 2021

Thanks @tsteur very helpful indeed. I will implement this way and let you know if I have further questions.

@unikitty37
Copy link

As I mentioned in #17581, "When someone clicks on the X icon on the right then we don't show it for another 6 months." should be "never", not "6 months".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Task Indicates an issue is neither a feature nor a bug and it's purely a "technical" change.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants