Yes, WP Sync can do this. Set up two separate steps:
1. Delivery for every buyer. The first step takes every paid customer (for example from Stripe) and adds them to a buyers list or tag in your email service (GetResponse, for example). That list only has your delivery email with the product link.
2. Promos only for opt-ins. The second step handles your opt-in form and adds people to your marketing list, so only people who opted in get your follow-up emails.
Each step can also check a field before it runs, for example only adding someone to the marketing list if your consent box came through as ticked.
It’s worth a quick check with your email service on how they treat a delivery-only email, as that’s their rule rather than WP Sync’s.
Protecting a PDF or download. WP Sync doesn’t make expiring or customer-specific download links. The simple way, with no extra monthly tool, is to put the file on a page on your WordPress site that isn’t in your menus or search, and only send that page in the delivery email. If you ever find it being shared, change the page address and update the one link in your delivery email. For a low-priced PDF that’s usually all you need.