Export Attendee Engagement Data from Zuddl to Salesforce

Salesforce is a CRM that equips sales, marketing, service teams, and the admin team with the customer information required to administer its interaction with them. The Zuddl - Salesforce integration enables organizers to pass attendee information seamlessly from Zuddl to Salesforce.


Currently, the following attendee activities are passed on to Salesforce:


Captured Activities - Webinar/Events

Activity Name Events Webinar
New user registration

✔️

✔️

Attended

✔️

✔️

Polls answered

✔️

✔️

Questions asked

✔️

✔️

Questions upvoted

✔️

✔️

CTAs clicked

✔️

✔️

Attended Session Live

✔️

✔️

Attended Discussion Room

✔️

Attended Booth

✔️

Engagement Time

✔️

✔️

Discussion Room Engagement Time

✔️

Session Engagement Time

✔️

✔️

Booth Engagement Time

✔️

User Profile Updated

✔️

✔️

Integration

The Salesforce integration can be split into two main steps

  • Global-level integration
  • Event-level integration

If your organization requires you to create a special user with required permissions for integration purposes, you need to create an API-only user profile in your Salesforce with Modify All Data or Modify All permissions. Learn how to create an API-only user profile.

Install Salesforce App

On the Zuddl common Dashboard,

  1. Click on Integrations.
  2. On the Salesforce card, click on the View Details button.
  3. Inside the Salesforce integration details page, click Install app. This initiates the new authentication process.
  4. Click on New authentication from the dropdown options.
  5. On the Create a new authentication page, enter the following details
    1. Your authentication name: A unique name for you and Zuddl to identify your authentication.
    2. Salesforce instance type: Select either Production or Sandbox to authenticate your Salesforce production or sandbox instance with Zuddl. Use the Sandbox instance to test out the integration and later authenticate your production instance.

      Create New Auth.png


      Click Create.

      Tip:

      If you wish to test out the integration on your sandbox instance, for the first time you can authenticate by selecting the Sandbox instance. Later, if you wish to connect your Salesforce production instance, you need to Uninstall app and re-Install app to(from the common dashboard) create a new authentication for your Production instance.

      On the permission consent screen, click Allow. This grants Zuddl the required permissions to perform necessary activities toward the integration.

      Consent Page.png

      On the Lead Object Mapping page, map the Zuddl standard fields to the corresponding Salesforce fields. The mandatory fields namely, First NameLast Name, and Email are auto-mapped to their respective counterparts in Salesforce.

      The Salesforce fields are auto-populated from your account

      The mandatory fields are required to create a lead in case the registrant email ID is not found in your Salesforce instance. You can also map the below optional fields that we capture at the time of registration:

    3. Ip City
    4. Ip Country
    5. UTM Source
    6. UTM Medium
    7. UTM Campaign
    8. UTM Term
    9. UTM Content
    10. UTM Id

      Lead Object Mapping.png

  6. Click Next.
  7. In the Lead Source field, enter a value for the lead source in Salesforce whenever a lead is created through the integration. Defaults to “Events”.  You can edit this to “Webinar” based on the use case.

    Lead Source.png


  8. Click Finish. This creates the authentication for your Salesforce instance.

Once the installation is done and the authentication is successful, all new registrants for your event/webinar (not present in Salesforce) are added as a Lead in Salesforce.  You must set up the event-level integration for every event/webinar individually to establish this data flow.

Event-level integration — Turn on Salesforce for an event /webinar

In Salesforce, you can leverage the Campaigns object to track event-level data that comes from Zuddl. Each Zuddl event/webinar must be tied to a campaign on Salesforce to track attendee activities and event/ /webinar statuses, namely:

  • Registered”: When an attendee registers a Zuddl event/webinar
  • Attended”: When a registered attendee enters a Zuddl event/webinar

These statuses need to be added in each new campaign to connect with a Zuddl event/webinar. A campaign ID is used to link a Zuddl event/webinar with a Salesforce campaign. So this helps us track the campaign member for a specific event/webinar.

Create a Campaign

To create a campaign,

  1. Go to your Salesforce dashboard and click Campaign on the main menu
  2. Click New.
  3. Under the New Campaign form, enter the following details:
    1. Campaign Name: Enter your event/webinar name.
    2. Select the Active checkbox as per the requirements.
  4. Optional. Fill in the rest of the fields.
  5. Click Save. This creates your new campaign. You will be redirected to the campaign detail view. The created campaign must be linked to a particular event/webinar on Zuddl in order to track the campaign members for a particular Zuddl event/webinar. The URL of the page contains the campaign ID which can be copied and pasted on Zuddl.
  6. Copy the campaign ID from the URL as shown below:

    Campaign ID.png


  7. On the Campaign Member Statuses table, click New to create new status to capture Zuddl-specific data.

    Campaign Member Statuses.png

  8. On the Campaign Member Status field, enter
    1. Registered”: When a user registers for an event/webinar.
    2. Attended”: When a registered user joins the event/webinar, the “Registered” state gets updated to “Attended”.

      Status.png

      Warning:

      The Member Status value should be an exact match of the Zuddl keywords “Registered” and “Attended”. Minor spelling errors would obstruct the data sync.


  9. Click Save. The newly added statues appear as shown here.

    Statuses.png


  10. Inside the Zuddl dashboard, go to the connected event/webinar then inside event/webinar setup, go to Integrations.
  11. On the Salesforce card, click Customize on the Export section to configure the event-level settings. The Export section shows a Disabled status before turning on the integration.

    Export Integration Disabled.png

  12. Toggle on the Salesforce export integration. This enables the integration settings.

    One-time Sync.png

  13. Under the Campaign ID tab, paste the campaign ID copied from the Salesforce URL in Step 6. This establishes the connection to your Salesforce account.
  14. Click Save.
  15. Any new registrant in Zuddl is added as a Lead in Salesforce. Under the Lead custom fields tab, map any custom fields added to your registration form to suitable Lead fields in Salesforce.
    1. Select a custom field in the Zuddl registration fields dropdown.
    2. Choose a suitable Lead field from the Lead fields dropdown.

      Lead Custom Field Mapping.png

    3. Choose a Field update policy
      1. Do not update: This option does not pass the Zuddl field value to the mapped Salesforce field. Note: Only updates made to the field won’t be passed, Leads will still be created.
      2. Always update: This option always passes the Zuddl field value to the mapped Salesforce field.
      3. Do not update if source is empty: If the Zuddl field value is empty, this option does not pass the value of the Zuddl field to the mapped Salesforce field.
      4. Only update if target is empty: If the Salesforce lead field value is empty, this option passes the Zuddl field value only in this case.

        Field Update Policy.png

    4. To map more fields, click the + Add field button and follow the same steps as discussed above.
    5. Click Save.

      For Contacts that already exist in Salesforce, it is important to map the custom fields of your Zuddl event’s/webinar’s registration form to the Salesforce Contact fields to ensure updated field values are passed to your event/webinar. Under the Contact custom fields tab, map any custom fields added to your registration form to suitable Contact fields in Salesforce.  

      Prerequisite

      A Zuddl registration form with all the required fields need to be created in order to map the fields.

    6. Select a custom field in the Zuddl registration fields dropdown.
    7. Choose a suitable Contact field from the Contact fields dropdown.

      Contact Custom Fields.png

  16. You can control the sync action for each field by choosing a Field update policy.  
      1. Do not update: This option does not pass the Zuddl field value to the mapped Salesforce field.
      2. Always update: This option always passes the Zuddl field value to the mapped Salesforce field.
      3. Do not update if source is empty: If the Zuddl field value is empty, this option does not pass the value of the Zuddl field to the mapped Salesforce field.
      4. Only update if target is empty: If the Salesforce Contact field value is empty, this option passes the Zuddl field value only in this case.

        Field Update Policy.png

        To map more fields, click the + Add field button and follow the same steps as discussed above.

        Click Save.

        For new or existing campaign members, you can also pass data at the campaign level. Under the Campaign member custom fields tab, map any custom fields added to your registration form to suitable Campaign member custom fields in Salesforce.

        Prerequisite:

        A Zuddl registration form with all the required fields need to be created in order to map the fields.

        1. Select a custom field in the Zuddl registration fields dropdown.

        2. Choose a suitable Campaign member field from the Campaign member fields dropdown

        The integration allows passing the following fields for all registration at the program member-level apart from registration fields

      • Ticket type: The name of the ticket tier created in Zuddl for ticketed event.
      • UTM Parameters: Urchin Tracking Module data(UTM Source, UTM Medium, UTM Campaign, UTM Term, UTM Content, and UTM Id)
      • Ip data (Ip City and Ip Country): Ip details
      • Attendee Type: This fields is useful for onsite events to distinguish between Virtual and In-person attendance.

        image.png

  17. Once all the fields are mapped, click Save.
  18. Optional. If your event/webinar registration has started and you wish to sync the registrations that were created in Zuddl before the integration was set up, you can click the Sync button on top next to the integration toggle.

    Notes:

    This is a one-time option to sync already existing data for your event/webinar. Once used, this option does not show up again.

    Sync Now Button.png

Notes:

  1. Ensure that both Zuddl and Salesforce object fields have compatible data types. If fields with incorrect data types are mapped, there could be a loss in data.
  2. Once the integration is turned on, the integration status changes to Active on the Export section as shown below.


Active Integration.png


The integration also manages duplicate emails (contacts/ leads) in Salesforce, giving priority to lead/ contact with the latest ‘last activity’.

Adding members to campaigns

It is likely that a single attendee is invited to other events/webinar from your Zuddl account. For instance, Mary (a prospect) is invited to two events (event A and event B) and respective Salesforce campaigns are linked to each event. Now, out of the two, Mary registered for event A because of which the integration automatically creates a lead and also adds her to the respective campaign.


For event B, in order to avoid duplicate entries for Mary, the integration checks if the Mary’s email address exists in your Salesforce instance. The integration searches in the relevant Salesforce objects in the following order:

  1. Campaigns: If present, does nothing.
  2. Contacts: If present, the email is automatically added to the campaign
  3. Leads: If present, the email is automatically added to the campaign

If a registrant does not exist in Salesforce, just like in the case of Mary for event A, the integration automatically creates a lead and also adds to the respective campaign.

Campaign Members.png

Configure Salesforce objects for activities

The integration also captures certain action attendees take in the event/webinar and pass it onto Salesforce. All attendee activities (except Attended and Registered) are synced 1 hour after the event/webinar end-time.

Registered attendee data is synced in real-time and Attended about 1 minute after the attendee joins the event/webinar.

To create a new field,

  1. On your Salesforce instance, go to Setup > Object Manager and search for Campaign Member.
  2. Go to Fields & Relationships and click the New button.

    Fields & Relationship.png

  3. Under Step 1. Choose the field type section, select Text Area (Long) data type and click the Next button. This creates a new custom field.
  4. Under Step 2. In the details section, enter the Field Label and click Next. Enter the below field names with the exact keyword match:
    1. Zuddl Polls Answered”: Lists the poll questions that the attendee has responded to.
    2. Zuddl Questions Asked”: Lists the questions asked by the attendee
    3. Zuddl Question Upvoted”: Lists the questions the attendee has upvoted
    4. Zuddl Session Attended”: Lists the names of the sessions that the attendee has attended.
    5. Zuddl Breakout Room”: This indicates whether an attendee has joined the breakout room or not. Only for events.
    6. Zuddl Event Duration”: This shows the total time spent in an event. Both for events and webinars.
    7. Zuddl Discussion Room Duration”: This shows the total time spent in a room. Only for events.
    8. Zuddl Booth Duration”: This shows the total time spent in a booth. Only for events.
    9. Zuddl CTA Clicked”: Shows the comma-separated list of button texts the attendee has clicked. The buttons with links are also shown with the link in the report.
    10. Webinar Session Engagement Time”: This shows the total time spent in a webinar session. Only for webinar.

      Warning

      The Field Label value should be an exact match of the Zuddl keywords as listed above. Minor spelling errors would obstruct the data sync.

  5. Under Step 3. Establish field-level security section, select the Visible header checkbox in the table to grant edit access to this field for all profiles in your Salesforce instance. Then click Next.

    This selection depends entirely on the user.

  6. On the Step 4. Add to page layouts section, keep the default settings and click Save.

This creates a new field, say “Polls Answered” visible to the campaign members as per the selection in Step: 3. Similarly, you can create other field labels as listed above.

Campaign Member.png

Minimum of 1 minute of attendee activity in a Zuddl event/webinar is required for passing any duration-specific data to Salesforce.

Field creation is a one-time activity. This means, if you’ve already created it for an older event/webinar, you need not create it again for a new event/webinar.

Campaign member status view

To enable the campaign member view, on Salesforce:

  1. Go to Setup > Object Manager.
  2. Find or search for ‘Campaign’.
  3. Find ‘Page Layouts’ in the sidebar and click to edit the ‘Campaign Layout’.
  4. Scroll down the list to find “Related Lists.” Drag the “Campaign Member Status” related list onto the page and click the Save button.
  5. Go to Campaign and find Campaign Member Statuses.
  6. Click New Button and add “Registered” and “Attended”.

    Campaign Member Statuses.png

Warning

The Member Status value should be an exact match of the Zuddl keywords “Registered” and “Attended”. Minor spelling errors would obstruct the data sync.