I think I know where your problem is - You can't give her access to the rug or anywhere else until she goes. 4 times is a lot, mine eat twice and poop twice. But anyway, it seems like YOU know that she needs to go so if she doesn't - pick her up and put her directly into her crate after you walk her when she doesn't go. Then try again later. Only empty dogs get to run around the house! Just remember that.
Sometimes they get so distracted outside that they forget why they are out there and then once they come in and it's boring again, they remember
She's still young. Mine were like a year old before they stopped having accidents. Just be consistent!
Also, I've found there is a difference between letting them go outside and walking them. If I need mine to poop early because we are going out, I just walk them and their 5pm poop is done at 3pm and I don't have to worry about it! As Zoe gets older she will definitely get on a schedule (assuming she is fed on a schedule) and you'll figure it out!