Ask for a gift address on upsells

Your upsell says "send one to someone you love", and the buyer taps yes. Then the bottle ships to the buyer, because a one-click upsell only knows the checkout address.
The enemy is the one-click upsell that cannot ask a single question.
An upsell or downsell link can now open a short form before it charges. The gift form asks where to send it, shows the item, shipping and total, then charges the card the buyer just used after one confirm. The order keeps the buyer as the customer and ships to the recipient, flagged as a gift. A page can also send its own form fields and a ship-to address with the upsell. It works on NMI (cards and Apple Pay), Stripe and Test merchants. A buyer who paid with PayPal never sees the gift link, and with @if(upsell_form.can_ship_to) the page can show that buyer a different offer. The thank-you page can list each gift line with its recipient.

Try it: on an upsell page, write the link as [UPSELL=your-product-code form=gift-address], publish, and buy through the funnel with a test card.
Documentation