You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

已实现GravityForms注册同步MailChimp,如何用其发送激活通知?

解决方案:用MailChimp自动化+GravityForms字段传递激活链接

你说得没错——GravityForms默认的MailChimp Feed只是负责把用户添加到邮件列表,并不处理注册后的触发式通知(比如激活链接这类个性化事务邮件)。要想用MailChimp的定制模板发送这类通知,得结合字段同步和自动化流程来实现,具体步骤如下:

1. 在MailChimp列表中添加自定义字段存储激活链接

  • 登录MailChimp,进入你的目标列表,点击「Settings」→「List fields and |MERGE| tags」
  • 添加一个新的文本字段,比如命名为「激活链接」,对应的合并标签设为*|ACTIVATION_LINK|*(一定要记住这个标签,后面会用到)

2. 在GravityForms中配置MailChimp Feed,同步激活链接

  • 回到GravityForms的表单编辑器,进入「Settings」→「MailChimp」→ 编辑你已有的Feed
  • 在「Field Mapping」部分,找到刚才在MailChimp创建的「激活链接」字段,把它映射到GravityForms生成的激活链接字段:
    • 如果你的激活链接是通过GravityForms User Registration插件生成的,它会作为动态字段存在,直接选择对应的「用户激活链接」字段即可
  • 保存Feed设置,确保用户提交表单时,激活链接会同步到MailChimp的自定义字段里

3. 在MailChimp中创建触发式自动化邮件

  • 进入MailChimp的「Automations」页面,点击「Create Automation」
  • 选择「Subscriber activity」下的「When a subscriber joins your list」,选中你的目标列表后点击「Begin」
  • 设置触发时机:可以选择「immediately」(用户加入列表后立即发送),也可以根据需求设置延迟
  • 下一步创建邮件内容:选择你已有的定制化模板,或者新建模板
  • 在模板中需要插入激活链接的位置,直接插入之前创建的合并标签*|ACTIVATION_LINK|*
  • 完成邮件主题、发件人信息的设置后,激活这个自动化流程即可

备选方案:用GravityForms钩子+MailChimp Transactional Email API

如果你的激活通知需要更灵活的触发逻辑(比如仅给满足特定条件的用户发送),可以通过代码钩子实现:

  • 先在MailChimp Transactional Email(原Mandrill)中创建好模板,记下模板ID和API密钥
  • 在WordPress主题的functions.php文件中添加以下代码(替换对应的参数):
add_action( 'gform_after_submission_{FORM_ID}', 'send_activation_via_mailchimp_transactional', 10, 2 );
function send_activation_via_mailchimp_transactional( $entry, $form ) {
    // 获取激活链接(假设激活链接在表单字段ID为5的位置)
    $activation_link = rgar( $entry, '5' );
    $user_email = rgar( $entry, 'email' );
    
    // 配置MailChimp Transactional参数
    $api_key = '你的Transactional API密钥';
    $template_id = '你的模板ID';
    
    $request_data = array(
        'key' => $api_key,
        'template_name' => '你的模板名称',
        'template_content' => array(),
        'message' => array(
            'to' => array( array( 'email' => $user_email ) ),
            'merge_vars' => array(
                array(
                    'rcpt' => $user_email,
                    'vars' => array(
                        array( 'name' => 'ACTIVATION_LINK', 'content' => $activation_link )
                    )
                )
            )
        )
    );
    
    // 发送API请求
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, 'https://mandrillapp.com/api/1.0/messages/send-template.json' );
    curl_setopt( $ch, CURLOPT_POST, true );
    curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $request_data ) );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    $response = curl_exec( $ch );
    curl_close( $ch );
}
  • 替换代码中的{FORM_ID}为你的GravityForms表单ID,以及对应的API密钥、模板ID和字段ID

小提醒

激活链接这类事务性邮件更适合用MailChimp Transactional Email发送,避免和批量营销邮件混淆,降低进入垃圾邮件的概率,同时也能满足即时触发的需求。

内容的提问来源于stack exchange,提问作者GRoston

火山引擎 最新活动