Zoom API Add a webinar registrant with source_id

When I call the zoom add registrant API with the parameters below, it does create the registration record. However, it does not include the source_id field in the registration information. Likewise, when I retrieve the source registration record through the API, it does not include the source_id field in the results. Is this a known bug or am I using the incorrect field identifier (source_id)?

[first_name] => AARON
[last_name] => GORRELL
[email] => f04fv38myd@icznn.com
[phone] =>
[org] => ORG JCH
[industry] => Other
[state] => United States, Colorado
[job_title] => MR
[source_id] => jchemail

1 Like

HI @akgorrell
Thanks for reaching out to us
I am doing some testing on my end and trying to get you a response as soon as possible.

Hello @elisa.zoom , would you have any update on this? We are trying to use the source_id field to track the source of the webinar registration, but the value being passed in via source_id field is not being attributed to the tracking link setup for webinars. I know it used to work because I used it last year for one of our webinars, but now it seems to be broken.

Hi @denney.abraham
I am happy to look into this again.
Could you share with me how were you passing this field in your requests so I can try and replicate this issue? and how are you trying to track this down please

Hi @elisa.zoom, here is a sample request body we are passing in to the API call for webinar registration:

“first_name”: "John,
“last_name”: "Doe,
“email”: “john.doe@example.com”,
“phone”: “212-555-3356”,
“source_id”: “78923490”

When a webinar has been setup, there is an option to set up multiple tracking links for it which we can use on different sites (Facebook, Twitter, etc). On the Zoom Webinar Tracking Page, we can see how many people registered for the webinar using those tracking links. That way we can track how many people registered from Facebook, Twitter, etc.

Last year when I was using this, each tracking link used to resemble this format: zoomDomain/767667623/78923490/join
The value “767667623” was the zoom meeting number that was given to all attendees while the value “78923490” was the source_id. Each tracking link would have a unique source_id. I was able to send that source_id value to the Zoom Webinar registration API via the “source_id” property in the JSON above. When that call was finished, the count for that tracking link incremented on the Zoom Webinar Tracking Page.

This time when I tried to use the tracking link, the tracking link provided by Zoom resembles this format: zoomDomain/78923490/join
The actual zoom meeting number is no longer part of the link, but there is another value “78923490” in the link. I figured that was the source_id since it is part of the tracking link. So, this is where the value of “source_id” in the JSON above comes from.

Now the webinar registration succeeds, but the tracking link count on the Zoom Webinar Tracking Page does not increment. It appears that Zoom just ignores the “source_id” value passed in to the Webinar Registration API via the JSON payload.

Please let me know if you need more information.

Hi @denney.abraham
Thanks for sharing more details with me.
I am able to pass the source ID that I am getting from the url to add registrants to a test webinar that I have set up.
I got the source_id from the URL of the webinar I created and then passed the same request body that you passed and I can see how the number of registrants increases.
could you please try again with a new webinar?

Thank you @elisa.zoom for checking on this. Does the count for the tracking link increment as well? I can confirm that the count of registrants for the webinar itself increments, but I did not see the count for the tracking link incrementing. The source_id is supposed to connect to the tracking link, not just the webinar.

Kindly let me know.

Hi @denney.abraham
I do not understand what you mean by the tracking link? Do you mean the registartion link?

Hi @elisa.zoom,
Sorry for the delay in getting back to you. I was out on PTO for a while and then was not well for a few days.

I tried to attach a screenshot of “Source Tracking Link” section of the Webinar setup page to this post, but it wouldn’t let me.

So, here is my explanation of where it is:
When setting up a Webinar, under the “Invitations” tab, in the “Invite Attendees” section, there is a “Source Tracking Link” section with an ‘+ Add’ link to the right. Click on the ‘+ Add’ link to create a new Source Tracking Link. Once the new “Source Tracking Link” is created, you will notice that the Tracking Link has an ID that is different from your meeting number. That number is the Source ID I have used in the past. Note that the ‘Registrations’ count on the right side says ‘0’.

In the past when it was working as expected, I have included that source ID in the API call (in the property ‘source_id’ of the body), and when I have done so, the count in “Registrations” column goes up by 1. That is no longer happening. We are looking to have it work the way it used to in the past so that we can track how many people registered via a certain source.

Thank you for your help!

Hi @denney.abraham ,

I am able to reproduce this behavior. I did two things:

  1. Register a user via the tracking link using the form.
  2. Register a user via API with the source_id.

For test 1, the registration went up for that particular source:

For test 2, the “total registrants” count went up, but not registrants for the source:

I believe this is intended behavior since user/registrant 2 never registered via the tracking source. The logic for source_id could’ve been rendered void with the update to the source tracking url parameters. I note this API changelog update for source_id, but no additional context is added: Zoom Meeting API - March 18, 2023

In my opinion, since source tracking pertains to the url, I’m not sure why it’s an option to enter via add registrant API requests since the point of the url is gauge registrant engagement from specified sites.

The previous behavior you observed for source_id may be deprecated or was unexpected. I will open a request with our documentation team.

Do you have any evidence demonstrating the previous behavior that I would be able to share with the team?

Thank you @gianni.zoom for your detailed response. It was very helpful. Unfortunately, I do not have an example from the last time I used the ‘source_id’ property as I did not preserve any logs or screenshots.

I do have some questions and notes based on all the information you provided:

  1. Is there a different API available for calling so that we can register a user using the tracking source without having to make the tracking source link available to the user?
    The original intent for the ‘source_id’ in Add Webinar Registrant API was “The tracking source’s unique identifier.” (as I see here: Add a Webinar Registrant and specifically :source_id)

  2. Is there a way I can use the APIs available to register a user under the Tracking Source? I’d really appreciate any guidance on this.

  3. If there is no API to call where I can register a user under the tracking source without having to making the link available to the user, then it appears that the original feature was working as intended because it aligns with the documentation and my experience with using it. Can that feature be restored because it appears to me that it was working as expected. This appears to be a change that was introduced at some point.

  4. As it stands right now, the :source_id property on the Add a Webinar Registrant API appears to be serving no purpose at all. That’s why I think it is an unintended change from the previous functionality.

Thank you again for your kind efforts to help me with this.

Hello @gianni.zoom! Hope you are doing well.

I was wondering if you have any thoughts or findings based on my questions and notes above. I’d appreciate it if you could help me figure out a way to use Zoom’s current API to register a user and have the tracking link count increment as well.

Thank you for your time and effort!

Hi @denney.abraham ,

Thanks for your patience! Unable to track down an answer for this in our internal docs, but will submit and inquiry to our API team and share here.

1 Like

Submitted an inquiry and waiting for results from service engineering (ZSEE-121592).

1 Like

Hello @gianni.zoom,

Hope you are doing well. Would you have any update on this question? I’d appreciate any additional information and/or guidance you might have.

Thank you for your help!

– Denney

Hi @denney.abraham ,

The internal team I’m working with wasn’t able to reproduce the issue, even though I did. I am waiting for clarification on what is additionally needed to help see the behavior.

Could you try again and see if you’re seeing the same behavior? Please grab the tracking id from the response headers for the request.

Hi @denney.abraham ,

I tried again just now and I’m no longer able to reproduce the behavior you had initially described.

Can you please try again?

Make sure you are grabbing the right number from the tracking url:


The first variable, not the second.

Thank you, @gianni.zoom , for following up on this and letting me know the details of the right ID to use. I’ll follow up with my team-member and test it as soon as possible. I will let you know how it goes.

Truly appreciate your help!

– Denney

1 Like

Looking forward to your response and no problem!

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.