If a user does not have a Zoom account, there is no way for the SDK or the Zoom backend to identify them. The only way of identifying an anonymous user is through their user ID, which is generated when they join the meeting and lasts only for the duration of the meeting. If the leave and re-join, a new ID will be assigned to them.
Once you have the user ID of the attendee though, you can call promptAttendee2Panelist to promote them to panelist.