Perry will take a turn as a fairy conjuring a range of festive characters, including a life-sized gingerbread man, giant presents on roller skates and oversized teddy bears.
The pop star has recorded a new song, 'Every Day is a Holiday' for the ad. H&M has started playing the track in stores, with one fan uploading the song online.
Perry will sport various H&M items through the campaign, including the 'Eflie Selfie' jumper and partywear. The campaign will run on TV and print, and launches on a dedicated microsite on 23 November.
H&M will also donate some of its takings from gift card sales to a children's charity in Myanmar. The retailer's charity arm will donate 5% of each gift card's value.