← View All Guides
ActiveCampaign logo
Integration Guide

How to Build Referral Automations in ActiveCampaign with GrowSurf

Create ActiveCampaign automations triggered by GrowSurf referral events to nurture participants and deliver rewards.

ActiveCampaign's automation builder is one of the most powerful in email marketing β€” and it becomes even more powerful when fed referral event data from GrowSurf. By connecting referral events to ActiveCampaign automations, you can create sophisticated nurture sequences, trigger reward notifications, segment contacts by referral activity, and build multi-channel campaigns that keep your referral program top-of-mind.

This guide walks you through connecting GrowSurf to ActiveCampaign, building automations for key referral events, and using ActiveCampaign's CRM features to track referral-sourced deals alongside your other pipeline activities.

Integration Steps

Step 1: Set Up Custom Fields in ActiveCampaign

Create custom contact fields to store GrowSurf referral data on each contact record.

  • Go to Settings > Fields > Add Field
  • Create these fields:
    • Referral Code (Text) β€” GrowSurf referral code
    • Referral Link (Text) β€” unique sharing URL
    • Referral Count (Number) β€” number of successful referrals
    • Referral Status (Dropdown: Participant, Active Referrer, Converted)
    • Referred By (Text) β€” referrer's email
    • Referral Program Join Date (Date)
  • Add these fields to your contact detail view for easy visibility

Step 2: Connect GrowSurf Events to ActiveCampaign

Set up the data pipeline that sends GrowSurf events to ActiveCampaign.

  • Option A: Use Zapier β€” GrowSurf trigger β†’ ActiveCampaign Create/Update Contact
  • Option B: Use GrowSurf webhooks + ActiveCampaign API directly
  • For each GrowSurf event, update the contact's custom fields and add relevant tags
  • Tags to add: "referral-participant", "has-referred", "referral-converted", "referral-reward-earned"

Step 3: Build the Referral Welcome Automation

Create an automation that welcomes new referral program participants.

  • Go to Automations > Create an Automation > Start from Scratch
  • Trigger: Tag "referral-participant" is added
  • Email 1 (Immediately): Welcome email with referral link and reward details
  • Wait 2 days
  • If/Else: Check if Referral Count > 0
  • Yes path: Exit (they're already sharing)
  • No path: Email 2 β€” "Ready to start sharing?" with tips and templates
  • Wait 5 days β†’ Email 3: "Your rewards are waiting" with urgency CTA

Step 4: Create a Referral Activity Automation

Trigger actions when a participant makes a referral or reaches milestones.

  • Trigger: Tag "has-referred" is added
  • Send congratulatory email with referral stats
  • If/Else: Check Referral Count value
  • If count = 1: "First referral" celebration + next reward preview
  • If count = 5: "Power Referrer" recognition + tier upgrade notification
  • If count = 10: "Champion" status + exclusive offer email
  • Update CRM deal score based on referral activity

Step 5: Set Up Deal Creation for Referral Leads

Use ActiveCampaign's CRM to create deals when referral leads are qualified.

  • In your automation, add a "Create a Deal" action when a referred contact meets criteria
  • Set the deal pipeline and stage
  • Assign to a sales rep based on territory or round-robin
  • Include referral context in the deal notes (who referred them, campaign name)

Step 6: Build Reporting with ActiveCampaign's Analytics

Track automation performance and referral program impact.

  • Monitor automation metrics: enrollment rate, completion rate, goal achievement
  • Compare email engagement for referral automations vs. regular automations
  • Track deals created from referral automations
  • Use ActiveCampaign's attribution reporting to measure referral channel revenue

Code Snippets

// Connect GrowSurf to ActiveCampaign via API
const ActiveCampaign = require('activecampaign');
const ac = new ActiveCampaign(process.env.AC_URL, process.env.AC_API_KEY);

app.post('/api/growsurf-to-activecampaign', async (req, res) => {
  const { event, participant, referrer } = req.body;

  // Create or update contact
  const contactData = {
    email: participant.email,
    firstName: participant.firstName || '',
    lastName: participant.lastName || '',
    fieldValues: [
      { field: 'REFERRAL_CODE_FIELD_ID', value: participant.referralCode },
      { field: 'REFERRAL_LINK_FIELD_ID', value: participant.shareUrl },
      { field: 'REFERRAL_COUNT_FIELD_ID', value: (participant.referralCount || 0).toString() },
      { field: 'REFERRED_BY_FIELD_ID', value: referrer?.email || '' }
    ]
  };

  const contact = await ac.api('contact/sync', contactData);
  const contactId = contact.subscriber_id || contact.contact?.id;

  // Add event-specific tags
  const tagMap = {
    'PARTICIPANT_CREATED': 'referral-participant',
    'PARTICIPANT_REFERRED': 'has-referred',
    'CAMPAIGN_REFERRAL_CONVERTED': 'referral-converted'
  };

  if (tagMap[event]) {
    await ac.api('contactTag/add', {
      contactId: contactId,
      tagId: await getOrCreateTag(tagMap[event])
    });
  }

  // Update referral count on existing contact
  if (event === 'PARTICIPANT_REFERRED' && referrer) {
    await ac.api('contact/sync', {
      email: referrer.email,
      fieldValues: [
        { field: 'REFERRAL_COUNT_FIELD_ID', value: referrer.referralCount.toString() }
      ]
    });
  }

  res.json({ success: true, contactId });
});

Tips

Use ActiveCampaign's Conditional Content for Referral Emails

ActiveCampaign supports conditional content blocks in emails. Use them to show different content based on referral status β€” for example, show the referral link only to participants, or show a "join the program" CTA to non-participants. This lets you use fewer email templates while maintaining personalization.

Leverage ActiveCampaign's Lead Scoring with Referral Data

Add referral activity to your ActiveCampaign lead scoring rules. Award points when a contact has the "referral-participant" tag, additional points for "has-referred", and bonus points for contacts referred by high-performing referrers. This helps your sales team prioritize referral leads.

Create a Goal in Your Automation for Tracking

Add an automation goal that marks when a participant makes their first referral. Goals in ActiveCampaign let you measure what percentage of people entering the automation achieve the desired outcome β€” giving you a clear conversion rate for your referral onboarding flow.

FAQ

Does ActiveCampaign have a native GrowSurf integration?

ActiveCampaign doesn't have a native GrowSurf integration, but you can connect them via Zapier or direct API integration. Zapier is simpler to set up; direct API gives you more control and faster event processing. Both approaches support real-time data syncing.

Can I trigger ActiveCampaign automations from GrowSurf events without Zapier?

Yes. Use GrowSurf's webhooks to call ActiveCampaign's API directly. The key is adding tags to contacts β€” ActiveCampaign automations can trigger on tag addition, so your webhook handler adds the right tag and ActiveCampaign's automation takes it from there.

How do I avoid sending duplicate emails when a contact is in multiple referral automations?

Use ActiveCampaign's "Wait Until" conditions and automation goals to prevent overlap. You can also add conditions that check if the contact is already in another automation before enrolling them. ActiveCampaign's "Only enter once" setting on automations prevents duplicate enrollments.

Set up your refer a friend program with customer referral and affiliate program software that lowers your acquisition costs, increases customer loyalty, and saves you gobs of time.

Trusted by marketing and product teams at fast-growing B2C, fintech, and SaaS companies