Error: URL Signature Expired
Issue
When clicking on the thumbnail, image, or video source URL of a Facebook Ads creative, the following error appears:
URL signature expired
Environment
Connector: Facebook Ads
Resolution
To resolve this issue, follow the steps for your media type:
Images
Locate the URL from the hash or image_hash column in the CREATIVE_HISTORY table. The hash and image_hash columns provide a reliable, permanent reference URL for the image. For more information, see the Facebook Ad Image documentation.
Videos (AD_VIDEO_HISTORY)
Don’t save or rely on the source column for long-term use. Meta frequently rotates video source URLs. If the source field is missing for some videos, verify that the authenticating user has Admin permissions for the Facebook Page that owns the videos. For more information, see the Meta Graph API video permissions documentation.
Cause
This issue occurs when Meta expires or rotates source URLs over time.
Images
Each Facebook API call returns new thumbnail_url and image_url values for the ad creative, which makes older URLs invalid. To avoid unnecessary table re-syncs and excess Monthly Active Rows (MAR), Fivetran doesn't automatically update these fields in standard tables with every API call. As a result, older links may return the expiration error.
Videos
Meta changes the source URL for posted videos over time by design, so video source URLs aren’t reliable for long-term retrieval. For more information, see the Meta Graph API Video documentation.
AD_VIDEO_HISTORY is a History mode metadata table, so we record changes by creating new rows instead of updating existing rows in place:
- During each sync, we fetch the full list of video objects from the Meta
/advideosendpoint. - If any column value differs from the last active version in your destination, we set the old row's
_fivetran_activevalue toFALSEand inserts a new row with_fivetran_active = TRUE. - We can only detect changes exposed by the
/advideosendpoint. If Meta doesn't update a field in the API response, we don't insert a new row. - Meta doesn't return the
sourcefield for Page-owned videos unless the API user is an admin of the owning Page.