Two things sink an anniversary surprise, whose idea it was and where it leaked, and both are fixable weeks before the date.
"I just bought this for my husband for Christmas, and chose that Christmas delivery check out. An hour ago he received the email. Totally ruin ruining the surprise."
Somebody who had bought the program as a gift left that on one of my ads. What broke it was a delivery setting. Somewhere between deciding what to do for your anniversary and her finding out, there are about six places the whole thing can fall over, and none of them are the part you've been thinking about.
A surprise is a decision you made on her behalf. When it happens to be the decision she would have made herself, it reads as proof you were paying attention. When it isn't, she has to spend an evening being visibly grateful for something she didn't want, which is work.
Two emails, both from husbands asking for their money back:
"I thought I would surprise my wife but she is just not into it. Tried a few weeks but it's not something that she wants to do."
"I purchased your streaming video this morning hoping to surprise my wife. Unfortunately she is not interested in it what so ever."
Nothing was wrong with either plan except whose plan it was. Compare it to this one, from a husband who bought the same thing:
"I bought both Date Night 1 and 2 for my wife and I a couple nights ago. She has been asking for lessons with me for years."
She had been saying it for years, and he finally acted on it. Another customer, sorting out access on the anniversary itself, wrote: "this is what she wanted so we’re doing it".
So the raw material for a good anniversary surprise is the list of things she has said she wanted to do, said she missed, or said she'd love if you two ever got around to it. Learning to dance together is one of the things I hear that about most, which is a reason Date Nights Dancing exists at all: easy swing taught at home, fifteen minutes at a time, both of you learning it at the same pace.
In The Power of Moments, Chip and Dan Heath make the case that surprise on its own does nothing: "Surprise is cheap and easy." What they're after is surprise pointed in a direction that serves the person, which in your case means her stated want, executed on a date she can plan around.
The instinct is to run this backwards: keep the whole thing dark, then wonder why she showed up to her own anniversary tired, with a work thing running late and nothing to wear.
Give her the date, the start time, roughly how dressed up, who has the kids, and when she'll be home. Keep every other detail to yourself. She gets to protect the evening on her calendar, sleep the night before, and pick something out. You still get the whole reveal, because none of that tells her what's happening.
There's a second reason. She may already have plans for that anniversary. Wives book things too, and the ugliest version of this is two secret plans on the same night and one of you having to fold. Naming the date early is what stops that without giving up a thing.
If you want the plan itself to sit at home instead of out somewhere, the at-home anniversary ideas page has the builds, and the same date-out-contents-in rule works fine on all of them.
Close the ones that apply to you and skip the rest.
If she handles the money, the charge is your leak. One husband caught this at checkout and just moved the timing: "I realized during the checkout process that she does the household financials and I didn't want the charge to show up too early on the statement and spoil the surprise." Another wife planning the same thing on the other side asked what the charge would even say: "Do you know what it will show up as when I place the order on my credit card? I want it to be a surprise so if it says anything about dancing I may have to ask my son to put it on his card and I’ll pay him back so my husband doesn’t catch on."
Use a card she doesn't watch, or pay close enough to the date that the statement shows up after the night does.
A box on the porch with a logo on it is a solved problem: ship to your work, to a locker, or to a friend three streets over. If it has to come to the house, know the delivery date and be the one who's home.
Digital gifts leak faster than boxes, because they arrive in her email whether or not the timing worked. One customer scheduled a send and got this instead: "I clicked the option to send her the email Christmas morning. You sent it immediately, thanks for ruining the surprise". Another had it arrive over and over: "This was supposed to arrive in my wife's email account Christmas morning, not every day. Ruined the surprise."
If anything is going to be emailed to her, send it to your address instead and hand it over yourself. Scheduled sends fail in both directions and you cannot supervise them.
She's standing next to you when a confirmation banner slides down the top of the screen while you're both looking at a photo. Turn off previews for mail and messages for the three weeks before, or keep the whole thread in one app you don't open in front of her.
Kids are not built for this and it isn't fair to ask them. Tell them the day of, or tell them nothing and let them be surprised too, which is usually a better night anyway. If you need one of them for something (a ride, a phone, a song), pick the oldest and give them one job with no context attached.
The leak I see most often in my own inbox is the buyer checking with the recipient that it arrived. One customer did exactly that: "I purchased Date nights 1 and 2 for my fiancé for our wedding. She never got it and it says it was sent. I asked her about it and kind of ruined the surprise."
Anything you need to verify, verify with the company, not with her. And leave her a little space to think you've forgotten, which one customer used on purpose: "She thinks I forgot about this so I am going to surprise her this weekend."
Handing her an envelope is fine, but starting the thing is better.
The husband whose wife had been asking for years didn't have to sell her on the idea. Walking into a room where the thing she'd been asking for is already happening is a different experience from being told about a plan and having to react to it on cue.
Whatever you've built, look for the version where she arrives into it rather than being presented with it. The table is already set. The song is already playing. Then say the one sentence that does the real work, which is the one where you tell her when you heard her say it.
Something like: "You said something last spring about wishing we knew how to dance. I've been thinking about it since."
The Heaths call recognition "a small investment that yields a large reward". Remembering one sentence she said months ago costs you nothing.
It happens, and it's survivable. The plan does not change.
Don't apologize for it and don't scramble to build a second surprise on short notice, which is how good plans get downgraded into worse ones. Say plainly that she's found out early, that the date stands, and that you're not telling her the rest. You lose the jump, and you keep the evening, the fact that you planned it, and about three weeks of her looking forward to it, which is not the consolation prize it sounds like.
If it leaked because of something you did, say that too. "I gave it away, and I'm annoyed about it" is a fine sentence and it beats pretending the plan was always to tell her.
Pick the leak that applies to you and close it this afternoon. Change the shipping address. Move the charge to the other card. Turn off message previews. Put the date on the shared calendar with a name that means nothing.
Then tell her the date. If the surprise you're building is a birthday rather than an anniversary, the birthday version has its own rules, and there's a broader piece on surprising your wife outside of occasions entirely. For the night itself, the things to do on an anniversary list is the place to pick from.
Every quote on this page came from somebody going to real trouble for the person they married. None of them got the idea from a list. They paid attention first, and then they handled the logistics so the idea survived contact with a shipping confirmation.
The Thursday reminder over 100,000 couples love: ideas and conversation starters that deepen love, laughter, and intimacy.