I need help removing data due to a GDPR & CCPA request

I need help removing data from my game, however I forgot the how I created the player key for my datastore. Here are the scripts, please help me.

local datastoreservice = game:GetService("DataStoreService")
local ds = datastoreservice:GetDataStore("MoneyDataStore")
game.Players.PlayerAdded:Connect(function(player)
	local success,message = pcall(function()
		local leaderstats = Instance.new("Folder",player)
		leaderstats.Name = "leaderstats"
		local coins = Instance.new("IntValue",leaderstats)
		coins.Name = "Money"
		coins.Value = ds:GetAsync(player.UserId)
		coins.Changed:Connect(function()
			local success,message = pcall(function()
				ds:SetAsync(player.UserId,coins.Value)
			end)
			if not success then
				warn("ERROR in SetAsync", script.Name,message)
			end
		end)
	end)
	if not success then
		warn("ERROR in GetAsync", script.Name,message)
	end
end)

– roblox remove data thingy

local ServerStorage = game:GetService("ServerStorage")

local DataStoreService = game:GetService("DataStoreService")

local removePlayerDataEvent = ServerStorage:WaitForChild("RemovePlayerData")

-- Reference to player data store (replace "PlayerData" with the name of your data store)

local playerData = DataStoreService:GetDataStore("MoneyDataStore")

local function onRemovePlayerDataEvent(userID)

-- Pattern for data store player key, for instance "Player_12345678"

local dataStoreKey = --help

local success, err = pcall(function()

return playerData:RemoveAsync(dataStoreKey)

end)

if success then

warn("Removed player data for user ID '" .. userID .. "'")

else

warn(err)

end

end

removePlayerDataEvent.Event:Connect(onRemovePlayerDataEvent)

If I’m reading correctly, dataStoreKey should just be userID.
In the first script every change seems to be of the form ds:SetAsync(player.UserId,coins.Value)

Okay, will try that out. I will inform you if it does not work.

It says this in the console:
console:1 Malformed string
Not really sure what that means.

What happens when you try to write data to the data store?

local DataStoreService = game:GetService("DataStoreService")
local playerData = DataStoreService:GetDataStore("MoneyDataStore")
playerData:RemoveAsync("PUTPLAYERUSERIDHERE")

Your setting the key to the UserId.

coins.Changed:Connect(function()
	local success,message = pcall(function()
		ds:SetAsync(player.UserId,coins.Value)
	end)

That looks like a really scary line. In any case, this already looks like your player key so why not just call RemoveAsync on this? You don’t really need the boilerplate that Roblox provides, that’s really only good for debugging purposes or running in live experience servers.