促销电子邮件通常用于通知客户新产品并分享优惠券和折扣。例如,您可以用它们来为客户订阅公司新闻简报或发送购物车弃购电子邮件。

征得客户同意以向他们发送促销电子邮件
为了保护客户免受不必要的垃圾电子邮件的侵害,客户必须同意接收促销电子邮件,然后您才能与他们联系。Checkout 可帮助您收集必要的同意(在适用的情况下),以发送促销电子邮件。了解有关促销电子邮件要求的更多信息。
您可以在创建会话时通过 Stripe Checkout 收集接收促销电子邮件的同意信息:
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_BQokikJOvBiI2HlWgH4olfQ2
:" \
-d "line_items[0][price]"= \
-d "line_items[0][quantity]"=2 \
-d customer= \
-d mode=payment \
--data-urlencode success_url="https://example.com/success" \
--data-urlencode cancel_url="https://example.com/cancel" \
-d "consent_collection[promotions]"=auto
当 consent_collection.promotions='auto'
时,Checkout 会动态显示一个复选框,用于收集客户对促销内容的同意信息。
注意
当显示复选框时,默认状态取决于客户所在的国家/第七期以及您企业的所在地。数据隐私法因司法管辖区而异,因此在当地法规禁止时,Checkout 会禁用或限制此功能。
Checkout Session 的 consent 属性记录会话是否收集了客户的促销同意书。
当客户完成购买时,跟踪哪些客户同意了促销内容。为此,您可以创建或更新一个现有的 Webhook 处理程序。侦听 checkout.session.completed
事件,检查 consent.promotions
状态,然后为同意的客户保存电子邮件地址。
const endpointSecret = 'whsec_...';
const app = require('express')();
const bodyParser = require('body-parser');
const recordPromotionalEmailConsent = (email, promoConsent) => {
console.log("Recording promotional email consent", email, promoConsent);
}
app.post('/webhook', bodyParser.raw({type: 'application/json'}), (request, response) => {
const payload = request.body;
const sig = request.headers['stripe-signature'];
let event;
try {
event = stripe.webhooks.constructEvent(payload, sig, endpointSecret);
} catch (err) {
return response.status(400).send(`Webhook Error: ${err.message}`);
}
if (event.type === 'checkout.session.completed') {
const session = event.data.object;
const promoConsent = session.consent?.promotions;
const email = session.customer_details.email;
recordPromotionalEmailConsent(email, promoConsent)
}
response.status(200).end();
});
在您配置 Checkout 来收集客户发送促销内容的同意书后,您可以通过跟进在完成付款之前离开结账流程的客户的线索来恢复废弃的购物车。