When my children were young they were allowed to express an interest in things they saw in shops, but were not allowed to ask for anything - I think it teaches children to pester. I have the same rule for my grandchildren, but one of them has real difficulty with this. He’s old enough to know better, but still tries it on - and the result is that he has missed out on things I might have bought for him. I’ve told him repeatedly that asking me to buy something for him is rude and a guarantee that I won’t, and last summer he finally seemed to have worked out that I mean what I say. Instead he says things like, “I really like such and such, but I’m not going to ask you to buy it for me because then you definitely won’t.”
This same grandchild differentiates between me and his other granny by describing me as the ‘strict granny’, but happily still loves to come and stay. (And I do buy him treats throughout the year - just not usually when we’re out shopping. ?)