Google provides Choosing a Storage Option guide which describes all the storage and database options on Google Cloud Platform so that it's easier to choose one for your project.
For your use case, Google Cloud Datastore is a better choice of database—and I say this as the product manager for Google Cloud Bigtable.
You're looking for a database to build a user-facing service with ability to search for tags.
- Cloud Datastore provides multi-zone or multi-region, synchronously-replicated database with built-in indexing.
- Cloud Bigtable is a single-zone storage system, with only a single index: the row key, without secondary indexes, so you'd have to built it yourself.
Regarding your proposed approach: Bigtable, with a single index, makes it easy to find a specific rows or sets of rows, at low latency. So if your row key is a user or a post id, it's quick to find those. However, the query of "find all posts with this tag" if tags are stored in columns is time-expensive because it involves a full scan of the database to see which rows have that specific tag stored in the column (column families and column family qualifiers are not indexed).
Thus, you should use Cloud Datastore to build this application.
Good luck with your project!