My idea is:
Instead of simply adding points they could be qualified in categories. E.g. we have different types of events and if someone clicks on a button that is related to a certain type of event this could add points in that specific category. So we could learn more about the direction of the user’s interest and better target the next email.
I think these groups of people would benefit from this idea:
everybody
Why I think they would benefit from this idea:
better knowledge about the user’s interests.
Any code or resources to support this idea:
Are you willing to work on this idea?:
yes - we could talk about the structure that would open up the concept of points.
What skills and resources do you need to explore this further?
Pleased to say this is coming in Mautic 5!
mautic:5.x
← patrykgruszka:DPMMA-1132_point-leagues
opened 01:42PM - 20 Jan 23 UTC
<!-- ## Which branch should I use for my PR?
Assuming that:
a = current ma… jor release
b = current minor release
c = future major release
* a.x for any features and enhancements (e.g. 5.x)
* a.b for any bug fixes (e.g. 4.4, 5.1)
* c.x for any features, enhancements or bug fixes with backward compatibility breaking changes (e.g. 5.x) -->
| Q | A
| -------------------------------------- | ---
| Bug fix? (use the a.b branch) | [ N ]
| New feature/enhancement? (use the a.x branch) | [ Y ]
| Deprecations? | [ N ]
| BC breaks? (use the c.x branch) | [ N ]
| Automated tests included? | [ Y ]
| Related user documentation PR URL | https://github.com/mautic/user-documentation/pull/152
| Related developer documentation PR URL | mautic/developer-documentation#...
| Issue(s) addressed | Fixes #...
<!--
Additionally (see https://contribute.mautic.org/contributing-to-mautic/developer/code/pull-requests#work-on-your-pull-request):
- Always add tests and ensure they pass.
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against the "4.x" branch.
-->
#### Description:
This PR adds possibility to create point groups to categorize contact scores.
New features in this PR:
- Manage Groups (create, read, update, delete)
- Group usage in Point action
- Group usage in Point triggers
- View Group points in Contact details
- Campaign condition based on Group points
- Campaign action to modify Group points
- Segment filter based on Group points
- Group points Report
<!--
Please write a short README for your feature/bugfix. This will help people understand your PR and what it aims to do. If you are fixing a bug and if there is no linked issue already, please provide steps to reproduce the issue here.
-->
#### Steps to test this PR:
<!--
This part is really important. If you want your PR to be merged, take the time to write very clear, annotated and step by step test instructions. Do not assume any previous knowledge - testers may not be developers.
-->
1. Open this PR on Gitpod or pull down for testing locally (see docs on testing PRs [here](https://contribute.mautic.org/contributing-to-mautic/tester))
2. Load fixtures `ddev exec bin/console doctrine:fixtures:load`
3. Update segments `ddev exec bin/console m:s:u`
4. Add some point leagues (Points -> Manage Groups) Example:
![image](https://user-images.githubusercontent.com/8580942/227149236-662024d9-6087-4620-bdca-8df7080f4b1f.png)
5. Create new point action with Point Group, example:
![image](https://user-images.githubusercontent.com/8580942/227149765-be38d6b0-0583-4f3e-a6f3-11d1cd5162b5.png)
6. Create Point trigger with Group. In my example i will use add tag event to verify if it works fine
![image](https://user-images.githubusercontent.com/8580942/227152897-65e7b272-b546-46ee-b710-fc3473ee1671.png)
7. Create a segment email (remember to set Published at date and set as Published)
![image](https://user-images.githubusercontent.com/8580942/227151415-4021147d-d8f7-49ef-8a64-33fef17a23fa.png)
8. Trigger email broadcast send with command `ddev exec bin/console m:b:s`
![image](https://user-images.githubusercontent.com/8580942/227151593-2ff949ae-be61-4b24-b59b-a894b6b60b81.png)
9. Check that the contact who received the email has a Group score.
![image](https://user-images.githubusercontent.com/8580942/227152084-9a290cb3-4487-41a7-8a58-200883c1ac86.png)
10. Check that the contact who meet the trigger point requirements has tag added
11. Add new segment with Group filter
![image](https://user-images.githubusercontent.com/8580942/227154825-5b06266f-ba1c-40b9-ad93-87ce1cfd6278.png)
12. Update segments: `ddev exec bin/console m:s:u`
13. Check if contacts that meet the requirements were added to the segment
![image](https://user-images.githubusercontent.com/8580942/227155165-340b2e55-6d0d-4136-9a59-1ed0a0a9268e.png)
14. Create a campaign that starts from this segment
15. Add condition based on contact score with Group
![image](https://user-images.githubusercontent.com/8580942/227155809-63c882c7-d3bd-4039-b1cf-d7bc4f7a46e3.png)
16. Add Adjust contact points action using another Group
![image](https://user-images.githubusercontent.com/8580942/227156188-464eb6c1-32d9-4f1f-b75e-9704dc229bb0.png)
![image](https://user-images.githubusercontent.com/8580942/227156163-d0b6f474-9c5c-42a1-a5ff-075a00a13a35.png)
17. Run campaign update and trigger `ddev exec bin/console m:c:u && ddev exec bin/console m:c:t`
18. Check that contacts in the campaign have second Group points assigned
![image](https://user-images.githubusercontent.com/8580942/227156836-eb3dea68-e385-40f7-a075-ff84b8a98d6f.png)
19. Create new report with Group score as Datasource, add some columns (e.g. group name, group score, contact email) and check if report results are correct
<!--
If you have any deprecations, list them here along with the new alternative.
If you have any backwards compatibility breaks, list them here.
-->
1 Like