How to handle GUI popup when player joins the game?

Hello
When the first player joins the game I need a popup to be shown to him and the player input from this popup (the button which he pressed) to be sent to the server.
I can send a RemoteEvent from the server in OnPlayerAdded event, but are we sure that the event will arrive to the client after the subscription for this remote event has happened in the local script?
Or should I first send event from the client to the server after the subscription for the remote event has happened in the localscript?
I can imagine different solutions using flags, but I wonder what is the “standard” way to do this?

Thanks in advance

To show a GUI/frame or any related GUI accessories from a local, just do

Local Script:

local frame = script.Parent -- The frame that you want to show
local Button = frame.Button -- The button that you want the player to click
frame.visible = true


Button.MouseButton1Down:Connect(function()
    -- Fire remote here
end)

This script above will show a frame when players join; you don’t need
a Player.PlayerAdded whole function to do it