In my server, I have a book that adds a tag to a player when the text is clicked.

Ex:

/scoreboard players tag @s add BeachHouse

(Here's the code to get a sample book)

/give @p minecraft:written_book 1 0 {title: "",author:" ",generation:0,pages:[" {text:\ "Beach House\" ,color:black,clickEvent:{action: 'run_command' ,value:\ "/scoreboard players tag @s add BeachHouse\" }}"]}

Then, I have a function setup that works in singleplayer, but not multiplayer. The command with execute does not carry out.

NOTE: This line of commands DO work with a repeating & chain command block setup in multiplayer

tp @p[tag=BeachHouse] 273 63 79 0 0 title @p[tag=BeachHouse] times 20 20 20 title @p[tag=BeachHouse] title [ "",{" text ":" Beach House "," color ":" blue "," underlined": true }] playsound minecraft:entity.endermen.teleport hostile @p[tag=BeachHouse] ~ ~ ~ 1 1 1 execute @p[tag=BeachHouse] ~ ~ ~ particle dragonbreath ~ ~2 ~ 1 1 1 .5 200 scoreboard players tag @p[tag=BeachHouse] remove BeachHouse

I have provided the function so you can install and try for yourselves in both singleplayer and multiplayer