Google’s John Mueller said on Twitter that it is best to implement your structured data on the page itself and not use Google Tag Manager to implement your structured data. He said the reason is because it makes it “straight-forward & usually easier to monitor/maintain.”
John did add that using Google Tag Manager is “great for trying structured data out & fine-tuning.” But again, the final implementation, he thinks, should be done directly on the page itself.
Here are those tweets:
Google previous said it is okay to use Google Tag Manager for structured data after saying to avoid it for experiments. But then Google added to its developer docs how to use Tag Manager with structured data.
Forum discussion at Twitter.