Use a self-leveling compound to fill any dips in your concrete floor before applying a sealant. Although rubber underlayment will disguise shallow troughs for a short while, your carpet will start to look uneven with wear. Pour self-leveling cement into any dips in your floor and level off with a trowel. Use a bubble level to make sure your floor is even. Allow any compound to dry completely before proceeding.
Paint an epoxy waterproof sealant over your concrete base floor to lock in moisture. Both your underlayment and carpet will be damaged if you fail to do so. Any moisture that rises through your concrete floor and reaches your carpet will shorten its life considerably. Allow the sealant to dry and add a second coat.
Lay a high-tog rubber underlayment on your concrete floor before laying your carpet. The thicker the better. A thick underlay will stop heat escaping through your carpet and protect against cold rising up through your concrete floor. Use an underlayment with an adhesive bottom that you can stick to your concrete floor. Leave a one-inch gap between your underlayment and your walls around the perimeter of your room.
Glue tack strips around the perimeter of your room with a strong purpose-made adhesive. You can then cut your carpet to shape and stretch it into place using the tack strips to secure it around the perimeter of your room.