This is mostly a opinion based question and perhaps not best suited for WPSE as this is not a discussion forum, but a Q&A one.
That said, I’d mostly likely go with a custom post type note
which would have the read page as post_parent
, user ID as post_author
and notes made by the user would go to post_content
. There should be only one note per page per user, which would get created the first time user reads the page.
Simple WP_Query
with user ID and post_type would return all the notes made by a single user.
Then there could be a utility taxonomy related to the CPT to keep track of the re-engage terms.
The read counter could be post_meta
, maybe on the note, if it needs to be user specific. General counter would be post_meta
for the page.