Hello Lord Voltron.
There is a distinction between 'flags' and 'tags'.
Tags mostly describe basic traits of the character, such as whether they're an ELF, UNDEAD, a HERO, a BARBARIAN, et cetera. They are found in the 'flags' category of the dialogue, so for purposes of the dialogue they may seem like a type of flag.
Flags, conversely, are mostly used to record and cause game events. The most basic form is a character flag, which is a flag that can be set or cleared on a character (added to or removed from them, basically).
There are also party and user flags.
When you set or clear a party flag on a character, what you're really doing is setting or clearing that flag on that character's entire party. When you check if a party flag is set, what you're really doing is checking if any member of the party has that character flag.
User flags work the same way as party flags, except that, instead of applying to the entire party, they only apply characters controlled by that player.
In a single-player game, they are identical.
Global flags are flags that aren't set on any character, but rather they can be set or cleared for the entirety of the game.
Local flags are flags that aren't set on any character, but exist only within one dialogue. It is important to make the distinction that they persist through different instances of the dialogue, i.e. that if start a dialogue "CharactersDialogue" with a character, exit that dialogue, and start it again, the local flag will still be set.
Specifically to start a trade, we use character flags. Make sure that:
1. What you're setting is a character flag, not a tag.
2. It is being set, not checked.
3. It is being set on the correct speaker.
It would help to determine the cause of your problem if you could provide a screenshot of your dialogue, specifically of the node where you're setting these flags, and the sidebar.