Yes, say your thanks at the time of your experience, post gratitude (and even a photo) on social media, too. And then, consider sending a hand-written note to the person or people who have impacted you with a gift, a kind word, including you at an event, or even simply the way s/he has presented him or herself at a meeting or talk.
To make the best impression in the note, please:
Start with a greeting and the person's name (we don't use names very often any more)
Skip starting the first sentence with I (makes it about you and not the recipient)
Offer something special you gained from him/her
Close with an uplifting message
Sign it following a sign-off, such as "With gratitude" or something else
It's not ever to late to show appreciation, and while someone receiving the note two days to one week following your exchange is recommended, dig out those nice notecards and get moving! Here's an example: