Google users are, in a sense, already signed up, whether they have logged in to your app or not. You have agreed to use Google as your IdP which means you’ve agreed to leave user account creation and management up to Google. With no other controls in place, enabling a social login means allowing all users in that service access to your app.
That said, you can achieve what you are trying to do with rules or hooks. Create a rule that checks whether a user already exists in your database or not, and if not you can deal with them however you like. You can also add an attribute to flag fully onboarded users and use that attribute in the rule to skip database lookups for such users. E.g., add the following to a fully onboarded user:
Create a rule that executes the following logic:
if user.app_metadata.onboarded == true:
skip the rest of this rule
if the user is in my database:
process this user (e.g., add "onboarded": true)
deal with users who are not in my database