Я почти всегда ходила в магазин с ребёнком, лет в 5 понял, что может и себе что-нибудь вкусное взять. Иногда хватает всё подряд, но у нас уговор, что берёт одну-две вкусняхи, в зависимости зависимости от цены. Выбирает, что ему хочется, остальное относит на место.
Ещё помогает заранее, собираясь в магазин, сказать, что мы идем за определенными продуктами (я их перечисляю), а больше ничего покупать не будем. Но моему 6 лет, уже можно многое объяснить, хоть парень и с характером.
Можно попробовать выделить один день в неделю, когда покупается что-то ребёнку. Пусть он знает, что, условно, в воскресенье ему покупают что-то вкусное, и в остальные походы в магазин выбирает, что ему хочется. Как мне кажется, тут важно и самой более менее придерживаться подобного. Я чувствую несправедливость, если наберу себе вкусных йогуртов по акции, а ребёнку не разрешу взять.
А вот в магазинах игрушек такого, к счастью, нет, ходим редко и уходим без потерь.