I also agree with doggiedad, but only in the 'when we know better we do' better mindset.
I think the OP is doing the best they can with what they know, and they are getting frustrated with the puppy when things aren't progressing the way they think it should.
And what WE ALL DO is then tend to blame the puppy.
But for me, after being around pups and dogs for so long (specially with the puppies) I absolutely know that when things are stalled in training the 'problem' is me. Either something I don't know, or didn't try, or going too fast in training, or too slow, or too impatient, or using the wrong treats, or bad timing (this is a MAJOR problem for me) so the puppy is confused and no longer sticks around to learn or just sits there immobile.
It's why MANY of us take the easier route for the puppy and us to join into a puppy class to get some appropriate training in along with socialization and instant feedback to help with our training.
For younger puppies I mostly teach 'engagement' and tricks. Because though it looks like just fun and games, it's actually teaching skills and bonding that will help for the rest of our dog's life. Added to the socialization to get my puppy comfortable out and about in any situation, that more than fills up the first 6 months or so of my pups life.
Have you had a chance to look at this site yet ---> https://www.germanshepherds.com/forum...s-puppies.html
I know that ALL dog training is about teaching and training me. Then when I'm doing it right, my dog/pup is suddenly BRILLIANT and I'm not frustrated and angry. So now when a training session starts going poorly, I stop right away, take a deep breath and go away to come up with a better training plan instead of insisting my METHOD is right and the pup is the problem.