Coco took ages too - not quite sure when she became 100% reliable but it was certainly nearly a year
I did all the right stuff - taking her outside all the time, praising like mad etc
I thought I would have it sorted in a couple of weeks - sadly no.
I do know that once I stopped worrying about whether she was normal or not, it got a lot easier.
Take no notice of people who tell you it shouldn't take that long, all pups are different and do things in their own time.