As most others I use color codes from the Poker platform I'm using. In my case it is 888 Poker. What I further do that helped me a lot is that everytime I mark a player as a specific profile (let's say Fish) I make a note why I decided that this player fits that profile.
Example:
If I see a player playing really loose pre flop and after 50+ hands his VPIP is above 40/50% I mark him as Fish and I make a note "high VPIP >50%". If I later on play a hand against this opponent I can check if his stats are still the same. Also it helps while table selecting.
If a player makes a strange move let's say calling down 3 streets with JJ even if there are 2 overcards on the board I make a note "holds on to pocket pairs and calls down".
And so on. I just try to make sure that I have an explanation why I decided to give a specific player a certain label.
I also try to make "weak" notes. What i mean by weak notes is that they should be applicable to many situations if possible. I try to generalize. The example above demonstrates this very well. I do not write down "call 10 BB bet on flop with JJ when AK on board" but I write "holds on to pocket pairs and calls down". This might be risky but it helps me more to generalize when I write them down as when I have to decide if I want to take advantage of the note in a next hand.
I do not use the note taking feature from PokerTracker. I write everything on 888 Poker.