Ive had quite a bit of experience whith dye.The dye that you see in the catalogs and parts stores is basically an elastomeric paint.Its good on leather,vinyl,and plastic as long as its clean before you apply it.The carpet is a different story.It will leave it feeling like a brillo pad.Its kinda like using hair spray,it looks good but will leave it stiff.Of course the dye works better when spraying over the same color or a lighter color.
Grocery stores and home supply places and fabric stores carry a real dye that will work better for carpet.Its waterbased and doesnt leave it stiff.