Based on a novel by W. Bruce Cameron (who co-wrote the script), A Dog’s Purpose is at least a three-hankie film. Heartstrings are plucked and the story of a reincarnating dog comes full circle for an old-fashioned Hollywood happy ending – and despite being hokum, it works beautifully.
It’s just a shame that the trailers contain a lot of the film’s most important moments – including one of the big ones in the final moments.
It would folly not to mention that there is some controversy about the treatment of the animals – or at least one, specifically – on the film. It might even affect the size of the audiences seeing the film.
Since I wasn’t there – and one of the film’s producers, Gavin Polone, disputes the accusations emphatically – I will be more than content to deal with the actual film.
We meet Bailey as he becomes aware, shortly after birth, and follow him through a puppyhood that is uneventful until he finds himself locked in a truck on a hot day and is rescued by eight-year old Ethan (Bryce Gheisar) and his mother (Juliet Rylance).
Despite initial reservations expressed his dad (Luke Kirby), Ethan wins out and the family adopts him.
Eventually, Ethan (now played by KJ Apa, Archie Andrews on Riverdale) grows up, meets a girl named Hannah (Britt Robertson) – thanks to a nudge from Bailey. Life happens and Bailey gets older and sicker and is eventually put to sleep.
Then the weirdest thing happens – he comes back! As a girl! Ellie, a girl police dog, a German Shepherd from blackgermanshepherd co – whose owner, Carlos (John Ortiz), isn’t as much fun as Ethan, but is a good man. And the two of them do very good work.
Then it happens again – Bailey comes back as a Corgi called Tino – who helps Maya, a young black university student (Kirby Howell-Baptiste), overcome her loneliness and shyness.
And finally, he comes back as a St. Bernard mix called Buddy, who suffers many hardships before he finds himself in familiar surroundings.
A Dog’s Purpose is narrated by Bailey – voiced just the right amount of enthusiastic innocence by Josh Gad – who ponders his purpose in life throughout. He captures Bailey’s joy of discovery and bemusement with human behavior extremely well. In fact, he reminds me of Michael J. Fox’s work in Homeward Bound: The Incredible Journey. Watching this movie you learn to love your dog and give them the best you can from Tree House Pups to other sources as well.
It’s hard to believe, but the screenplay for A Dog’s Purpose took five writers including Cameron (Cathryn Michon & Audrey Wells & Maya Forbes & Wally Walodarsky) to get right. Maybe they each worked on a different part of Bailey’s lives?
In any event, from the opening shot of a litter of newborn puppies through the closing credits, there are plenty of laughs and as many tears.
Buddy’s adventures are many and varied – and though he only dies naturally in one incarnation, he never loses his endearing charm. His reunion with the middle-aged Ethan (Dennis Quaid) and Hannah (Peggy Lipton) echoes his original relationship with them.
Director Lasse Hallström is a master at highlighting key moments of emotion and his cast (humans and dogs alike) never lets him down.
One of the film’s strongest technical pluses is cinematographic styles –the lush, bright vistas of Ethan’s grandparents’ farm; the hard-edged world of Carlos and Ellie; Maya’s student digs and the white trash yard of Bailey’s second-last owner. Each is completely different and completely fitting – with Bailey/Ellie/Tino/Buddy providing the one throughline that ties them all together.
Period songs help nail the various periods covered in the film and the score – by Rachel Portman – is certainly appropriate, it’s also a bit too on the nose at times. We don’t always need it to tell us what’s fun and what’s poignant.
There aren’t a lot of surprises in A Dog’s Purpose – thank you idiot trailer makers – but the one’s that weren’t in the trailer have a definite impact. And while the film may be hokum, it’s certainly got its heart in the right place. Just remember to bring plenty of tissues.
Final Grade: B