They don't really need to associate it with a specific person (although I'm sure they'd love to)- they can get plenty of data just within the context of what a single person buys in their store.
It's also generally not about you in particular. They mostly just want to lump you in with similar lifestyles groupings. Then they target you and your cohorts with targeted sales, advertising, or sell that data on the open market.
Even still, it only takes a few data points to presume exactly who you are. They are all buying and selling data. The phone company says this credit card pays for that phone number. And that credit card is used with this store perks card....... The data is all there.
They're associating it with your debit/credit card, unless you're buying with cash only. Also, the "identity" isn't so much the target as the "profile". Don't get me wrong, if they are able to personally identify you, the communication will be much more... personalized... (good english) - mailings, texts, emails and coupons for stuff either you've bought or adjacent to your stuff (with better margins for the store) addressing you by name, grouped with other purchase-history items. But back to the profile: building a profile of your likes, dislikes, brands and such is valuable data that gets more $ for corporate as the fidelity gets higher. And as it does, the messaging to you gets more targeted.
This is why I always try "Jenny's Number" for loyalty programs when I can enter an phone number (Local area code +8675309). A Safeway near me used to offer fuel points with grocery purchases up to $1 discount per gallon. I saved a lot of money in gas for a while, then it seemed Safeway got wise and deactivated those numbers.