- Products
- Solutions
- Developers
- Support
- About
- Login
- Blog
Industry · Retail & e-commerce
Confirm customer addresses before catalogs and mailers go out
Stop printing catalogs and mailers for addresses that can't receive them. Validate, correct, and standardize every US address directly within Snowflake, so the file is clean before it goes to print.
USPS CASS certified
25 years in production
Sub-100ms latency
99.999% uptime
SOC 2 Type II
Zero data retention
worksheet.sql
SQL
-- Validate your member file where it lives CALL APP_CODE.AV3_GET_BEST_MATCHES( 'SELECT CONSUMER_ROW_ID, BUSINESSNAME, ADDRESS, '' '' AS ADDRESS2, CITY, STATE, POSTALCODE FROM MY_SCHEMA.MEMBERS', 'MY_SCHEMA.AV3_RESULTS' ); -- → validated rows land back in your table ADDRESS DPV IsResidential 200 N Main St 1 False 520 W Taylor St 1 True
Standardized member addresses with DPV & RDI — no files to move.
Trusted by data teams at brands that can't afford bad records
The problem
A bad address costs you to mail it, then keeps costing
A missing apartment number, a ZIP that doesn't match the street, a street name spelled inconsistently: these sit in the customer table looking fine until a catalog or a loyalty piece bounces. You have paid to print and mail every one.
And the defect rarely stays in the mail lane. The same record follows the customer into loyalty segments, householding, CRM matching, and analytics, so teams spend and decide on address data they cannot consistently compare.
- Direct mailCatalogs, loyalty pieces, and win-back campaigns printed and mailed to addresses that can't receive them.
- Customer profilesThe same address stored in different formats across loyalty, CRM, and order data.
- Matching and householdingInconsistent address strings weaken deduplication and identity-resolution inputs.
- Segmentation and reportingIncomplete or inconsistent components reduce confidence in geographic analysis.
How it works
One SQL call. Validated data back in your table.
1
Install the native app
Get the app from the Snowflake Marketplace and grant the external access integration. The app runs inside your Snowflake account. You control the access and can revoke it at any time.
2
Select the addresses to validate
Pass a SELECT query with the addresses you want to validate and specify where you want the results saved. AV3 processes the records directly from your Snowflake data.
3
Use the validated output
AV3 creates a timestamped results table in your schema, based on the table name you supply in the call, with the full validation output. Your corrected and standardized address data is ready for the next step in your workflow — no batch files, CSV exports, or re-imports.
worksheet.sqlSQL
-- Validate a SELECT of your address records -- and save the results to an output table CALL APP_CODE.AV3_GET_BEST_MATCHES( 'SELECT CONSUMER_ROW_ID, BUSINESSNAME, ADDRESS, '' '' AS ADDRESS2, CITY, STATE, POSTALCODE FROM MY_SCHEMA.MY_TABLE', 'MY_SCHEMA.AV3_RESULTS' );
Install, call, use — versus contact sales, get a script, wait.
What the output includes
Standardized address data for the mail run and the systems downstream
The returned fields support both the mail run and the data work that follows. Per address, the output includes:
- Standardized components — street, city, state, ZIP+4, formatted to the CASS standard.
- DPV Description — whether the address is a confirmed delivery point, and if not, what the postal data says about it.
- DPV Notes Description — what was found or missing at the delivery point, so a fixable address gets corrected and kept rather than dropped.
- Residential Delivery Indicator (RDI) — flags whether the address is residential or not.
- Corrections Description — what changed and why, so the record is auditable.
Every address comes back in one standardized form, so records that differed only by spelling line up for the matching and householding logic you already run.
The app validates address data already in Snowflake. It does not validate an address as a shopper types at checkout, reroute a shipment, identify a customer, or merge duplicate records. Your downstream tools decide how to suppress, match, segment, or route the results.
Before → afterCASS certified
Input · as captured
1200 oak av apt3, santa barbra ca
AV3 output · standardized
1200 Oak Ave Apt 3
Santa Barbara, CA 93101-8523
Santa Barbara, CA 93101-8523
Input · not deliverable
742 Nowhere Rd, Lompoc CA
Who it's for
For the engineer who owns the customer file in Snowflake.
Marketing wants the campaign file clean before it mails
Validate and standardize the customer file before a direct-mail or loyalty audience is exported, so correctable records are fixed and non-deliverable ones are handled before production.
Your print vendor bills for the whole file
Suppress the addresses that can't be confirmed before the file reaches the printer, so you stop paying to produce mail that was never going to land.
Matching and analytics need normalized inputs
Feed standardized components into the householding, deduplication, and identity-resolution logic you already run, and into geographic segmentation and reporting.
You need it to run where the customer data already lives
One SQL call in Snowflake, results back in your table, not a separate export and re-import.
Security & architecture
You control the connection. We retain nothing.
AV3 runs as a native app inside your Snowflake account. When you call AV3_GET_BEST_MATCHES, the app sends address data to the Service Objects validation API through a single external access integration that you explicitly grant at setup. The API validates the address, returns the result, and retains nothing. Your data stays private and secure because it never sits in a third-party system and nothing is kept on our side.
The external access integration is the only connection. It is fully visible in the app manifest before you install, you grant it yourself, and you can revoke it at any time. There are no batch files in transit, no data sitting in a third-party bucket, and no CSV exports leaving your environment.
USPS CASS certified
SOC 2 Type II
PCI-DSS
Your Snowflake accountAV3_GET_BEST_MATCHES runs on your data, in your warehouse
Single external access integrationYou grant it, you can revoke it — the only connection
Service Objects validation APIValidates & returns the result — stores nothing
Pricing
Transparent pricing. Pay through the Snowflake Marketplace.
Standard
$2,500 / year
100,000 validations
- Full API output
- Sub-100ms latency, 99.999% uptime
- 20-day trial — 1,000 records, full output
Higher volume
Enterprise
$7,500 / year
500,000 validations
- Full API output
- Sub-100ms latency, 99.999% uptime
- 20-day trial — 1,000 records, full output
Marketplace Capacity Drawdown (MCD) supported.
Use your existing committed Snowflake spend to purchase. No separate procurement process, no additional contract. If your team has committed Snowflake credits, this purchase can draw from that balance.
Unlike most address validation vendors, pricing is visible before you talk to anyone. No "request a quote," no sales call required to learn what it costs.
Why Service Objects
Enterprise reliability, proven since 2001.
The validation infrastructure behind AV3 has run in production for over two decades — trusted by Fortune 500 data teams and backed by billions of validated transactions.
25 years
In production, since 2001
8 Billion+
Validations delivered
99.999%
Uptime SLA, financially backed
SOC 2 Type II
Independently audited security
Fortune 500
Clients rely on our data
Run it on your customer file. Free for 20 days.
1,000 address validations with full API output. Install from the Snowflake Marketplace and see how many customer addresses USPS can't confirm. No credit card needed.
USPS CASS certified
Sub-100ms latency
Zero data retention
Not the person who installs things in Snowflake? Forward this — your data team can have it running in an afternoon.
Questions, answered
Frequently asked questions
Does it guarantee delivery?
No. It confirms whether the address is a valid delivery point and corrects it to CASS standards. You stop mailing addresses that are incorrect. What the carrier does after handoff is outside AV3's control.
Does this validate addresses at checkout?
No. This runs on the customer data already in Snowflake, in batch. It is not a real-time, point-of-entry check. If you need to validate an address as a customer types it at checkout, that is the Service Objects real-time API, a different product, and we can point you to it.
How much returned mail will this remove?
The share caused by bad or non-confirmed addresses, which is the part you can control. It will not catch a customer who moved and left a still-deliverable address. Run the trial on a real customer file to see your own number.
What does AV3 validate?
US mailing addresses. It validates, corrects, and standardizes each one, and confirms whether mail can actually be delivered there. If you need email validation, phone validation, or international addresses, Service Objects has separate APIs for those.
Does my data leave Snowflake?
Address data is sent to the Service Objects validation API through a single external access integration that you grant at setup. The API validates the address and returns the result. No data is stored, logged, or retained by Service Objects. There are no batch files, no CSV exports, and no data sitting in a third-party system.
Is the app CASS certified?
Yes. AV3 is USPS CASS certified, validated against official postal data that is updated monthly. Service Objects is also SOC 2 Type II and PCI-DSS certified.
What does the trial include?
A free 20-day trial with 1,000 address validations. The trial provides the full API output. At the end of 20 days or 1,000 records (whichever comes first), the trial stops. No automatic charges or conversions.
Can I pay using my existing Snowflake commitment?
Yes. AV3 supports Marketplace Capacity Drawdown (MCD). If your organization has committed Snowflake spend, this purchase can draw from that balance with no separate procurement process or contract.
How is this different from exporting a CSV and using an external validation service?
No export, no file transfer, no re-import, and far fewer resources to run. You call it from SQL and results land in a Snowflake table. The traditional batch-file workflow is eliminated entirely.