According to the official documentation:
Unassigned is the value Analytics uses when there are no other channel rules that match the event data
In fact, there are several situations as follows:
UTM parameters are not channel rules
UTM parameters are not channel rules, such as
You can filter out unassigned , and then add “First user source/medium” in the secondary dimension
You can see that UTM is wrong, UTM should use Channel Rule, learn more: Understanding Default Channel Group in Google Analytics 4
Measurement Protocol is missing ga_session_id parameter
Send data through the MP without the ga_session_id parameter, it will be classified as Unassigned
session_start is lost
When the session is opened, the session_start event will be sent, and the UTM information is on the session_start. If the session_start is not sent, the source/medium will not be set, and the channel will be Unassigned.
Total Sessions is 138, Unassigned Session is 5, which means session_start is 133, we can verify through events reports.
Note: Some sessions have multiple session_starts, so if you extend the time range, you may encounter data inconsistencies.
Data is still being processed
If the data is still being processed and has not been processed, Unassigned will also appear.