This note describes a Bayesian hierarchical approach to estimating heterogeneous effects. To start, researchers specify groups based on quantities of interest such as heterogeneous treatments, treatment heterogeneity, and policy relevance. Then, researchers fit a hierarchical model where treatment slopes and intercepts vary across groups and group level factors modify the slopes. This captures systematic and random variation in heterogeneous effects, estimates effects within each group, and measures effect variance. Hierarchical modeling provides an intermediate tool between interactions or subgroup analyses and machine-learning approaches to discovering complex heterogeneity. It is more flexible than interactions and reduces the risk of underpowered subgroup comparisons. At the same time, it is more theoretically informed and interpretable than some machine-learning approaches, as well as easier to implement in small datasets. Researchers should use hierarchical models alongside other approaches to understand heterogeneous effects for scholarship and policy.