Allow Broadcast Messages to target URLs with URL parameters
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem
Currently, if you specify a target path URL for a Broadcast Message that includes URL parameters, that message will not display, either with or without the URL parameter.
With a target path of /dashboard/projects, a message will display if the user visits that path as well as if any URL parameters are included (such as /dashboard/projects?a=b)
With a target path of /dashboard/projects?a=b, the message will not render if the user visits that exact path, or the path without the URL param.
This limits the targeting ability for Broadcast Messages. At GitLab, we don't always communicate state using URL paths. State will change without a related URL change. We do use URL parameters to pass state in certain features, such as creating a new wiki page:
/user/project/-/wikis/home?view=create
Without the URL param, this path leads to the null state for Wiki. The param is the only way to reach the New page screen.
Another example is passing filename and commit message to the file editor, which we use for the Add <file> CTAs on the Project overview page:
https://gitlab.com/user/project/-/new/master?commit_message=Add+.gitlab-ci.yml&file_name=.gitlab-ci.yml
Usage/Benefit
We have multiple pending UX Research studies looking to utilize Broadcast Messages that target URLs with parameters.
Without allowing for targeting with URL parameters, we have no ability to target these pages, despite that they are linked via CTAs in our UI and can be linked to from anywhere.
Proposed solution
Allow URL parameters to be used in a target path for a Broadcast Message. If a param is used in a path, only render the message if the URL includes that param. If no param is included, render the message when a user visits the URL regardless of what params are included.