Defining certain block or zcta as urban

Hello everyone,
I am conducting analyses at both the block and ZCTA levels and need to determine whether specific blocks or ZCTAs are classified as urban areas. So far, I have been unable to find a file that directly classifies blocks or ZCTAs as urban. However, I discovered a shapefile that defines urbanized areas. I am considering performing a spatial join between this urban area shapefile and the block or ZCTA shapefiles to classify each area. Do you think this is a viable approach? Thank you for your assistance.

The Census Bureau provides counts of urban and rural population for all major census summary levels (including blocks and ZCTAs) in the main decennial census summary files. From NHGIS, you could get such counts from the 2020 DHC dataset or the 2010 SF1 dataset, etc. Blocks nest perfectly within urban areas, and files for block-level tables will also include identifiers for all areas that contain the block, so you could use either the urban counts or the urban area identifiers to determine whether a block is within an urban area. ZCTAs have no fixed spatial relationship to urban areas and often straddle urban area boundaries, but you could use the urban/rural counts to determine if the majority of a ZCTA population is in an urban area.