My inlaws solved this problem by giving each grandkid a U.S. Savings bond every year for their birthday and a big one for their graduation from High School. And stopped giving after they graduated.
We celebrate their birthdays, now that they are grown, by going to their favorite restaurant for lunch, then taking in a movie of their choice.