In the northeastern USA I usually hear "good for you," as in
You passed the test? Good for you! [congrats]
Good for you, for stopping to help! [you are a good person]
Online I often see the variant "good on you/good on ya" written, as in
You passed the test? Good on ya!
Good on you for stopping to help!
Is there a difference in usage between the two phrases – are they used in different ways? Or, do they mean the same thing and are used by speakers of different dialects?