how to seperate packets for pppoe Clients

Hi,
i have rb433, and I’ve made an pppoe server, all Clients have bandwidth limiter by normal profiles i made for each group.
Now i need to go deep further, i need to make separate download for each Client for different things he do, like youtube will have a limiter, facebook, online games, …etc.
i think in this case we need to define packets for each service and then we have to use layer 7 protocol to define those packets, after that we can use tree queue, am i right?
I would appreciate any help in this matter.

Warm regards
Hayder