What this form does
This shared form creates a new MKT group or replaces the editable configuration
of an existing group. It combines explicit Manual MKT Tags with dynamic
Automatic Rules and continuously previews the resulting effective set.
Access
- The create page requires
MktGroups:C. - The edit page requires
MktGroups:U. - The original superadmin bypasses these portal checks.
- Every form request is authenticated and permission-checked again by the admin service.
Fields
Group Name
Required name of the group. Leading and trailing whitespace is removed before save. Names must be unique after normalized, case-insensitive comparison, so a second group cannot reuse the same name with different casing or surrounding spaces.
Active / Inactive
Saved status flag for the group. New groups start as Active. Turning it off
saves the group as Inactive; it does not delete its manual tags or automatic
rules.
The traced MKT Groups Performance Active Only filter does not read this flag.
That report filter is based on whether the row has users or active players.
Manual MKT Tags
Explicit raw tags to include. Start typing to search currently discoverable raw tags. Search waits briefly after typing, requests up to 100 suggestions, and matches text case-insensitively. Existing selected values remain available while editing even when they are not in the current suggestion result.
Manual values are trimmed and deduplicated case-insensitively. The field is a selection list, not a free-text rule editor.
Automatic Rules
Free-text substring rules. Type a rule and press Enter to create a chip. Rules are trimmed and deduplicated case-insensitively. They are not regular expressions, do not support explicit wildcards, and match any currently known raw tag that contains the rule without regard to casing.
Use a specific rule. A broad value such as a may match many unrelated tags and
can also cause overlap with another group.
Effective MKT Preview
The preview combines:
- every selected manual tag
- every current raw tag matched by at least one automatic rule
- case-insensitive deduplication of the combined result
It shows Included MKT Count and one chip per effective tag. With no manual tags
and no rules, the browser clears the preview locally and shows
No effective MKT tags selected.
After a manual tag or rule changes, preview waits about 300 ms before requesting the calculated set. Preview is read-only and does not persist anything. A preview warning does not save partial data; fix the source problem or retry.
Saving
Create Group
Creates the group, manual-tag rows, and automatic-rule rows in one database transaction. On success, the browser opens the new group's edit URL.
Save Changes
Updates the selected group in one transaction. The submitted manual-tag and automatic-rule collections replace their existing saved collections. Removing a chip therefore removes that saved item when the update succeeds. On success, the browser stays on the same group URL with the saved id.
Validation and failure behavior
Save is rejected when:
Group Nameis empty after trimming- another group already has the normalized name
- manual tags or automatic rules are not valid arrays
- the candidate effective set overlaps another group's effective set
- the edit id does not identify an existing group
- authentication, permission, or database work fails
Effective-set overlap errors identify each conflicting raw tag and the group or groups that already own it. The create/update transaction rolls back, so a failed save does not leave a partially updated group or child rows.
Loading and invalid URLs
The edit form shows Loading group... while it reads the saved group. An invalid
route id shows Invalid group id and a Back to MKT Groups button. If a valid id
no longer exists, the detail/update request fails and no new group is created.
Important caveats
- Automatic membership can change later as new banking or casino raw tags are recorded.
- Preview and save calculate against current raw-tag data. A conflict can appear between an earlier preview and a later save if source data changed.
- Making a group inactive does not remove it, clear membership, or redefine the
report's activity-based
Active Onlyfilter. - There is no delete action and no normal Cancel button on this form.