There are 2 keys to having an amazing BFCM: Segmentation and Omnichannel experiences.
Separating your user list into segments of customers allows you to give the appropriate experience to that group of customers based on their past behavior. For example, your VIP customers should get a much different experience than customers who have only purchased from you once. By categorizing this list and segmenting appropriately, you can create much more targeted, personalized messages, which in turn will perform much better.
Once you have your segments figured out, the next key is to create omnichannel experiences for these segments. Send your segments an email, but then follow it up with an SMS as well as a piece of physical mail that lands in their mailbox. Using a product like IgnitePOST, you can actually start off by sending your segment a handwritten note that arrives in their mailbox and then follow it up with an email and text message. This combination produces results that are 10X better than the results you get if you just use email alone.