可以通过MailChimp API提供订阅者的语言吗?

时间:2012-11-01 14:01:55

标签: mailchimp

目前,我在PHP页面上有一个注册表单,允许用户输入他们的姓名和电子邮件地址。

按下时,它会向服务器发出一个AJAX POST,接收postdata的PHP脚本接受它并使用MailChimp PHP API来注册用户(通过listSubscribe())。

这是一个多语言网站,问题在于,当通过API调用执行注册时,MailChimp不知道用户的语言是什么。这意味着用户收到他们的MailChimp确认电子邮件(即“你实际上是否注册了这个”等),而不管他们的实际语言偏好如何。

我目前解决这个问题的方法是为每种语言创建单独的列表,根据用户查看网站的语言将用户订阅到相应的列表。这意味着您可以设置MailChimp形成列表语言的默认语言。

这对我来说非常苛刻,有更好的方法吗?这样做意味着必须为每种语言等设置广告系列。

3 个答案:

答案 0 :(得分:3)

MailChimp中有一个“语言”字段,但我没有看到通过合并标记访问它的方法。通过我的一个列表,我亲自了解每个订阅者,MailChimp的语言工具似乎不那么可靠。

我在MailChimp中创建一个表单字段或组,然后添加一个字段,允许用户通过下拉列表指定他们的首选语言(或根据他们正在查看的内容自动填充它),并使用它来使用合并标签在您的确认电子邮件中发送自定义内容。请参阅此处查看customizing the confirmation process

例如,如果你使用一个组来使用INTERESTED合并标签发送英语,法语,德语或西班牙语的电子邮件,那么英语是你的默认语言:

*|INTERESTED:Language:FR,DE,ES|*
 *|INTERESTED:Language:FR|*
   French content here
 *|END:INTERESTED|*
 *|INTERESTED:Language:DE|*
   German content here
 *|END:INTERESTED|*
 *|INTERESTED:Language:ES|*
   Spanish content here
 *|END:INTERESTED|*
*|ELSE|*
  English content here for everyone else, even those with an undefined language.
*|END:INTERESTED|*

答案 1 :(得分:3)

不幸的是,它在文档中没有很好地说明。表单自动翻译的工作方式是检测浏览器的语言:

http://kb.mailchimp.com/article/can-you-translate-my-signup-forms-response-emails#auto

这意味着当您使用表单提交进行订阅时,他们会检测浏览器语言,然后发送正确的确认电子邮件。它们不使用可以设置为表单选项或api的“语言”字段。我通过技术支持,通过几次对话验证了这一点。

那么如何在通过api订阅时设置语言?同样,在api调用的http标头中设置浏览器语言。这对我来说就像一个冠军。不能说你将如何在你的php应用程序中做到这一点,但在使用Gibbon gem的Rails中,你会传递'headers'选项中的值,它只是将它设置在api调用的http头中:

gibbon_api.lists.subscribe(headers: {'Accept-Language' => request.env['HTTP_ACCEPT_LANGUAGE']}, all_other_params...)

至少这种方法适合我。希望这会有所帮助...

答案 2 :(得分:0)

对于ChimpKit3(v3)(iOS - objective-c repo),我添加了订阅者语言以支持MailChimp中响应邮件的自动翻译选项。

所以这只是添加“接受语言”的问题。字段到请求标题。

https://github.com/mailchimp/ChimpKit3/pull/22

Objective-C示例:

NSDictionary *mailChimpParams = @{@"id": MAILCHIMP_LIST_ID,
                                  @"email": @{@"email": [NSString stringWithFormat:@"%@",emailAddress]},
                                  @"language": @"en",
                                  @"merge_vars": mergeVars};
[[ChimpKit sharedKit] callApiMethod:@"lists/subscribe"
                         withParams:mailChimpParams
               andCompletionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { ...