The short answer is that you cannot use DNS in iproute2. There is no facilities in the kernel to do any kind of name lookups during the route processing. It really wouldn't make sense for their to be a way to do this either. Pause for a second and consider, this rule is evaluated for every single packet that is either forwarded by or originated by the system. If that rule results in a DNS lookup, it generates packets, which couldn't be routed until a DNS lookup is complete.
You might be tempted to use the MARK
facility of iptables, since it will let you create rules using DNS, but even this won't work. Iptables evaluates the name when the rule is added, and creates rules based on the IP addresses the DNS resolves to. The rules are never updated after the rule is added.
One solution, that isn't great, is to evaluate the names using some other that will tool perform DNS lookups and add rules based on the results. The problem with this, particularly for something the size of Google, is that the results you see in DNS have the potential to change frequently.
If the site/network is big enough that they actually have their own allocation of address space directly from a RIR, and aren't just using address space provided by a CDN/ISP, then you could lookup their network in whois, and create rules based on their subnets. This page should give the the addresses that account for a large portion of Google's services.
What you might have to seriously consider is setting up some kind of proxy, that do things at a higher level. Perhaps what you are trying to do could be accomplished with Squid or some other web proxy.