An upsell moves the customer to a higher tier of what they already have. A cross-sell introduces a separate product or add-on that complements their current usage. The distinction matters because the trigger, the framing, and the objection pattern are different.
An upsell is triggered by plan limits or feature ceilings. The customer has outgrown what they have. A cross-sell is triggered by use-case expansion. The customer is succeeding at one job and could get more value by solving an adjacent one.
Cross-sell emails land best when tied to a success moment with the existing product. "You've been running [X] with [Product A]. Teams who do that often find [Product B] useful for [adjacent outcome]" is a recommendation, not a pitch. The objection pattern is also different: for an upsell, the customer is weighing cost against features; for a cross-sell, they're weighing effort against value. Keep the cross-sell email short, make the connection to what they're already doing explicit, and lead with one outcome.